diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index aa4a431b5..55fdc74ed 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -2587,11 +2587,11 @@ } }, "node_modules/@reactflow/background": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.2.tgz", - "integrity": "sha512-KOy24lz9HpaBlx5KGcpQRsbMRWWkZdFyRxFq5RfPy6BnxDx0GFZ2o2igKKVutuo2bgCQdhaqzipcOUHlEAvnbQ==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.3.tgz", + "integrity": "sha512-m3MR25ufbrDkZI2Yi7pHX5uewVpiaaVM5px35pk2v3qdG68adqHOgJjncUOpGiJpc3rDwt4mqmW1V7RjBqNv6Q==", "dependencies": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" }, @@ -2601,11 +2601,11 @@ } }, "node_modules/@reactflow/controls": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.2.tgz", - "integrity": "sha512-VuDxm9l0B4esXzRpzKRqH7Sc1Szj+KBV1bsswaOQWDbLlGKRtIZMXjdQ9BwBf+PMJD4ANrmnGEdHxFTL6NUpbg==", + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.3.tgz", + "integrity": "sha512-UTsfHE+PhgWrCZN4GUOTRU/3l8dGSyR2KslmgqV7mVNsh6EuS2cxboRczjpcIc8lF0EH+7QxLGeXSH42GWCcOQ==", "dependencies": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" }, @@ -2615,9 +2615,9 @@ } }, "node_modules/@reactflow/core": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.9.2.tgz", - "integrity": "sha512-/tiE8sPShzeWFnshvi8hc1lbp1C5PLgAFl94JQdBstq94uOBTpdoI//1MN4a+fGp1xwAUP7P0IcLuWqIDZgrZg==", + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.9.3.tgz", + "integrity": "sha512-45o8X1sjF48wSWALHybbLoWF6yo9SARgJpMKm96J8ZL8mrNhqSjll77sLRJg6zQ+VKdDwotEN30jp5eY6i28tw==", "dependencies": { "@types/d3": "^7.4.0", "@types/d3-drag": "^3.0.1", @@ -2635,11 +2635,11 @@ } }, "node_modules/@reactflow/minimap": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.2.tgz", - "integrity": "sha512-GqhJ0AoNhYf/GXI7JlWOR4THvi1nEcyo6sL6pGupJu8Ve1b8rpcTKNh4mXIerl8x0oRF8ajGvpIvh4R6rEtLoQ==", + "version": "11.7.3", + "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.3.tgz", + "integrity": "sha512-u620uYwjmA5tJ/4p+F/0kyjNojvV0axTMSw87d/CCDij96m+2/drwqMW+BE8XHEqjG0c1HyplrkXQ3WhGu6ZaA==", "dependencies": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", @@ -2653,11 +2653,11 @@ } }, "node_modules/@reactflow/node-resizer": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.2.tgz", - "integrity": "sha512-p8fqfEtMdXVAEdAT74GVpMeIm2v2t92LObKPFvIbOaA11vmcp+jSt45y2mPD6CxP6snzEVHXigYmGZNiujDtlQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.3.tgz", + "integrity": "sha512-x1TXN4YZhBI1LxNegVsE51emUg1rf4rBgvNL8Tzj0xsKkD/av4DOzRizQ3xAGgk0joPrsOTiGiP511m/PWjsew==", "dependencies": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.4", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", @@ -2669,11 +2669,11 @@ } }, "node_modules/@reactflow/node-toolbar": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.2.tgz", - "integrity": "sha512-s8gP07HClKDidsBSrcljoK600cdVLLBK1gNK0bSVpCk3hBVKUkEGESwMf7VwpZ1oxhM3859R3pz++7lUrbmF3w==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.3.tgz", + "integrity": "sha512-juNFBLZgC+KOYpVaQFTkSQTDf4hYK7WAagiQQ4Dw0IUcLaMY3TA31OLP6X6gMG73YGKFmkgrDwi0ZDB0jpMqdA==", "dependencies": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" }, @@ -3780,9 +3780,9 @@ "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==" }, "node_modules/@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "16.18.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.58.tgz", + "integrity": "sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==", "devOptional": true }, "node_modules/@types/parse-json": { @@ -3796,9 +3796,9 @@ "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==" }, "node_modules/@types/react": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", - "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", + "version": "18.2.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", + "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -3806,9 +3806,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.10.tgz", - "integrity": "sha512-5VEC5RgXIk1HHdyN1pHlg0cOqnxHzvPGpMMyGAP5qSaDRmyZNDaQ0kkVAkK6NYlDhP6YBID3llaXlmAS/mdgCA==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", + "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", "devOptional": true, "dependencies": { "@types/react": "*" @@ -3851,9 +3851,9 @@ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" }, "node_modules/@types/uuid": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", - "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.5.tgz", + "integrity": "sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==", "dev": true }, "node_modules/@vitejs/plugin-react-swc": { @@ -3879,9 +3879,9 @@ "integrity": "sha512-jbQfFaw+57OBwPt7qSNHuW+RA8smmRwkWRS1Ozh6K/QxUspBgBV/LpdSzlY7vee8TomS6j3D33B9rIeH1qMwsA==" }, "node_modules/ace-builds": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.28.0.tgz", - "integrity": "sha512-wkJp+Wz8MRHtCVdt65L/jPFLAQ0iqJZ2EeD2XWOvKGbIi4mZNwHlpHRLRB8ZnQ07VoiB0TLFWwIjjm2FL9gUcQ==" + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.29.0.tgz", + "integrity": "sha512-TyTe22nW1rUi7bzbGwLwg/6EN88CJuxUO0193nv/6cQ8lMBV6XtfeQIAgU3dkr8wnCn2okycqHjCDlPGNcWqoQ==" }, "node_modules/acorn": { "version": "8.10.0", @@ -6822,9 +6822,9 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { "json-buffer": "3.0.1" @@ -9066,24 +9066,24 @@ } }, "node_modules/react18-json-view": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/react18-json-view/-/react18-json-view-0.2.5.tgz", - "integrity": "sha512-BiCWyRUCVbnaK4kfNay8crOXZnWsZ6XsnY3fwOf5C+ZaY9w9FSTawo2p+h2UG/KcDP8meZuGlkP95klfFG9GfQ==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/react18-json-view/-/react18-json-view-0.2.6.tgz", + "integrity": "sha512-RHAY880UwC7SClyQBoij50q2InpSrj5zmP2DCL73vEaaVTyj/QbMPBk4FRKMQ7LF8FSxhh+VI6mK3AhlBaCBxw==", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/reactflow": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.9.2.tgz", - "integrity": "sha512-hARhGVX9rcZhtRWsjBszDpF0EefsYhCzrRCk12CsB2oqWJZPLQD4OYh5eQygr9Yi3M/i+3+rcNyPs9IsFzU5iQ==", + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.9.3.tgz", + "integrity": "sha512-GiIo20Vgy1U4h1NlLyQChWYgsl2OQkEgKHjokyQsdmm1nidywTr0n94O6w97ixLljKzJynTMjDdWP0p8xkq6NQ==", "dependencies": { - "@reactflow/background": "11.3.2", - "@reactflow/controls": "11.2.2", - "@reactflow/core": "11.9.2", - "@reactflow/minimap": "11.7.2", - "@reactflow/node-resizer": "2.2.2", - "@reactflow/node-toolbar": "1.3.2" + "@reactflow/background": "11.3.3", + "@reactflow/controls": "11.2.3", + "@reactflow/core": "11.9.3", + "@reactflow/minimap": "11.7.3", + "@reactflow/node-resizer": "2.2.3", + "@reactflow/node-toolbar": "1.3.3" }, "peerDependencies": { "react": ">=17", @@ -12871,29 +12871,29 @@ } }, "@reactflow/background": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.2.tgz", - "integrity": "sha512-KOy24lz9HpaBlx5KGcpQRsbMRWWkZdFyRxFq5RfPy6BnxDx0GFZ2o2igKKVutuo2bgCQdhaqzipcOUHlEAvnbQ==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@reactflow/background/-/background-11.3.3.tgz", + "integrity": "sha512-m3MR25ufbrDkZI2Yi7pHX5uewVpiaaVM5px35pk2v3qdG68adqHOgJjncUOpGiJpc3rDwt4mqmW1V7RjBqNv6Q==", "requires": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" } }, "@reactflow/controls": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.2.tgz", - "integrity": "sha512-VuDxm9l0B4esXzRpzKRqH7Sc1Szj+KBV1bsswaOQWDbLlGKRtIZMXjdQ9BwBf+PMJD4ANrmnGEdHxFTL6NUpbg==", + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/@reactflow/controls/-/controls-11.2.3.tgz", + "integrity": "sha512-UTsfHE+PhgWrCZN4GUOTRU/3l8dGSyR2KslmgqV7mVNsh6EuS2cxboRczjpcIc8lF0EH+7QxLGeXSH42GWCcOQ==", "requires": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" } }, "@reactflow/core": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.9.2.tgz", - "integrity": "sha512-/tiE8sPShzeWFnshvi8hc1lbp1C5PLgAFl94JQdBstq94uOBTpdoI//1MN4a+fGp1xwAUP7P0IcLuWqIDZgrZg==", + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/@reactflow/core/-/core-11.9.3.tgz", + "integrity": "sha512-45o8X1sjF48wSWALHybbLoWF6yo9SARgJpMKm96J8ZL8mrNhqSjll77sLRJg6zQ+VKdDwotEN30jp5eY6i28tw==", "requires": { "@types/d3": "^7.4.0", "@types/d3-drag": "^3.0.1", @@ -12907,11 +12907,11 @@ } }, "@reactflow/minimap": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.2.tgz", - "integrity": "sha512-GqhJ0AoNhYf/GXI7JlWOR4THvi1nEcyo6sL6pGupJu8Ve1b8rpcTKNh4mXIerl8x0oRF8ajGvpIvh4R6rEtLoQ==", + "version": "11.7.3", + "resolved": "https://registry.npmjs.org/@reactflow/minimap/-/minimap-11.7.3.tgz", + "integrity": "sha512-u620uYwjmA5tJ/4p+F/0kyjNojvV0axTMSw87d/CCDij96m+2/drwqMW+BE8XHEqjG0c1HyplrkXQ3WhGu6ZaA==", "requires": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", @@ -12921,11 +12921,11 @@ } }, "@reactflow/node-resizer": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.2.tgz", - "integrity": "sha512-p8fqfEtMdXVAEdAT74GVpMeIm2v2t92LObKPFvIbOaA11vmcp+jSt45y2mPD6CxP6snzEVHXigYmGZNiujDtlQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@reactflow/node-resizer/-/node-resizer-2.2.3.tgz", + "integrity": "sha512-x1TXN4YZhBI1LxNegVsE51emUg1rf4rBgvNL8Tzj0xsKkD/av4DOzRizQ3xAGgk0joPrsOTiGiP511m/PWjsew==", "requires": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.4", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", @@ -12933,11 +12933,11 @@ } }, "@reactflow/node-toolbar": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.2.tgz", - "integrity": "sha512-s8gP07HClKDidsBSrcljoK600cdVLLBK1gNK0bSVpCk3hBVKUkEGESwMf7VwpZ1oxhM3859R3pz++7lUrbmF3w==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@reactflow/node-toolbar/-/node-toolbar-1.3.3.tgz", + "integrity": "sha512-juNFBLZgC+KOYpVaQFTkSQTDf4hYK7WAagiQQ4Dw0IUcLaMY3TA31OLP6X6gMG73YGKFmkgrDwi0ZDB0jpMqdA==", "requires": { - "@reactflow/core": "11.9.2", + "@reactflow/core": "11.9.3", "classcat": "^5.0.3", "zustand": "^4.4.1" } @@ -13718,9 +13718,9 @@ "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==" }, "@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "16.18.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.58.tgz", + "integrity": "sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==", "devOptional": true }, "@types/parse-json": { @@ -13734,9 +13734,9 @@ "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==" }, "@types/react": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", - "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", + "version": "18.2.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", + "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -13744,9 +13744,9 @@ } }, "@types/react-dom": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.10.tgz", - "integrity": "sha512-5VEC5RgXIk1HHdyN1pHlg0cOqnxHzvPGpMMyGAP5qSaDRmyZNDaQ0kkVAkK6NYlDhP6YBID3llaXlmAS/mdgCA==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", + "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", "devOptional": true, "requires": { "@types/react": "*" @@ -13789,9 +13789,9 @@ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" }, "@types/uuid": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", - "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.5.tgz", + "integrity": "sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==", "dev": true }, "@vitejs/plugin-react-swc": { @@ -13814,9 +13814,9 @@ "integrity": "sha512-jbQfFaw+57OBwPt7qSNHuW+RA8smmRwkWRS1Ozh6K/QxUspBgBV/LpdSzlY7vee8TomS6j3D33B9rIeH1qMwsA==" }, "ace-builds": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.28.0.tgz", - "integrity": "sha512-wkJp+Wz8MRHtCVdt65L/jPFLAQ0iqJZ2EeD2XWOvKGbIi4mZNwHlpHRLRB8ZnQ07VoiB0TLFWwIjjm2FL9gUcQ==" + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.29.0.tgz", + "integrity": "sha512-TyTe22nW1rUi7bzbGwLwg/6EN88CJuxUO0193nv/6cQ8lMBV6XtfeQIAgU3dkr8wnCn2okycqHjCDlPGNcWqoQ==" }, "acorn": { "version": "8.10.0", @@ -15842,9 +15842,9 @@ } }, "keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "requires": { "json-buffer": "3.0.1" @@ -17254,22 +17254,22 @@ } }, "react18-json-view": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/react18-json-view/-/react18-json-view-0.2.5.tgz", - "integrity": "sha512-BiCWyRUCVbnaK4kfNay8crOXZnWsZ6XsnY3fwOf5C+ZaY9w9FSTawo2p+h2UG/KcDP8meZuGlkP95klfFG9GfQ==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/react18-json-view/-/react18-json-view-0.2.6.tgz", + "integrity": "sha512-RHAY880UwC7SClyQBoij50q2InpSrj5zmP2DCL73vEaaVTyj/QbMPBk4FRKMQ7LF8FSxhh+VI6mK3AhlBaCBxw==", "requires": {} }, "reactflow": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.9.2.tgz", - "integrity": "sha512-hARhGVX9rcZhtRWsjBszDpF0EefsYhCzrRCk12CsB2oqWJZPLQD4OYh5eQygr9Yi3M/i+3+rcNyPs9IsFzU5iQ==", + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/reactflow/-/reactflow-11.9.3.tgz", + "integrity": "sha512-GiIo20Vgy1U4h1NlLyQChWYgsl2OQkEgKHjokyQsdmm1nidywTr0n94O6w97ixLljKzJynTMjDdWP0p8xkq6NQ==", "requires": { - "@reactflow/background": "11.3.2", - "@reactflow/controls": "11.2.2", - "@reactflow/core": "11.9.2", - "@reactflow/minimap": "11.7.2", - "@reactflow/node-resizer": "2.2.2", - "@reactflow/node-toolbar": "1.3.2" + "@reactflow/background": "11.3.3", + "@reactflow/controls": "11.2.3", + "@reactflow/core": "11.9.3", + "@reactflow/minimap": "11.7.3", + "@reactflow/node-resizer": "2.2.3", + "@reactflow/node-toolbar": "1.3.3" } }, "read-cache": { diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts index 7899cb4cb..8f7490b9e 100644 --- a/src/frontend/playwright.config.ts +++ b/src/frontend/playwright.config.ts @@ -20,7 +20,9 @@ export default defineConfig({ /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: "html", + reporter: [ + ["html", { open: "never", outputFolder: "playwright-report/test-results" }], + ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Base URL to use in actions like `await page.goto('/')`. */ diff --git a/src/frontend/run-tests.sh b/src/frontend/run-tests.sh index ec78c0641..6bcc81b76 100755 --- a/src/frontend/run-tests.sh +++ b/src/frontend/run-tests.sh @@ -1,5 +1,35 @@ #!/bin/bash +# Default value for the --ui flag +ui=false + +# Parse command-line arguments +while [[ $# -gt 0 ]]; do + key="$1" + case $key in + --ui) + ui=true + shift + ;; + *) + echo "Unknown option: $key" + exit 1 + ;; + esac + shift +done + +# Function to forcibly terminate a process by port +terminate_process_by_port() { + port="$1" + echo "Terminating process on port: $port" + fuser -k -n tcp "$port" # Forcefully terminate processes using the specified port + echo "Process terminated." +} + +# Trap signals to ensure cleanup on script termination +trap 'terminate_process_by_port 7860; terminate_process_by_port 3000' EXIT + # Navigate to the project root directory (where the Makefile is located) cd ../../ @@ -9,8 +39,18 @@ make frontend & # Give some time for the frontend to start (adjust sleep duration as needed) sleep 10 -#Run frontend only Playwright tests -cd src/frontend && npx playwright test --ui tests/onlyFront +# Navigate to the test directory +cd src/frontend + +# Run frontend only Playwright tests with or without UI based on the --ui flag +if [ "$ui" = true ]; then + PLAYWRIGHT_HTML_REPORT=playwright-report/onlyFront npx playwright test tests/onlyFront --ui --project=chromium +else + PLAYWRIGHT_HTML_REPORT=playwright-report/onlyFront npx playwright test tests/onlyFront --project=chromium +fi + +# Navigate back to the project root directory +cd ../../ # Start the backend using 'make backend' in the background make backend & @@ -21,11 +61,15 @@ sleep 10 # Navigate back to the test directory cd src/frontend -# Run Playwright tests -npx playwright test --ui tests/end-to-end +# Run Playwright tests with or without UI based on the --ui flag +if [ "$ui" = true ]; then + PLAYWRIGHT_HTML_REPORT=playwright-report/e2e npx playwright test tests/end-to-end --ui --project=chromium +else + PLAYWRIGHT_HTML_REPORT=playwright-report/e2e npx playwright test tests/end-to-end --project=chromium +fi + +npx playwright show-report # After the tests are finished, you can add cleanup or teardown logic here if needed -# Terminate the background processes (backend and frontend) -pkill -f "make backend" -pkill -f "make frontend" +# The trap will automatically terminate processes by port on script exit