From c72b1a4fe590ce2c50de0d8dee9c5b16c68b9547 Mon Sep 17 00:00:00 2001 From: DustyD Date: Wed, 25 Sep 2024 13:31:24 -0700 Subject: [PATCH 01/23] feat: 1495 Enhance parent tree bigquery (#1617) Co-authored-by: Xiao Peng Co-authored-by: mgaseta <105936322+mgaseta@users.noreply.github.com> --- .../repository/ParentTreeRepository.java | 71 +++++++++++++------ 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java index 82ce715af..250cabd7b 100644 --- a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java +++ b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java @@ -13,26 +13,57 @@ public interface ParentTreeRepository extends JpaRepository findAllParentTreeWithVegCode(String vegCode); } From a784ecbfbd540b2eaa0a87a0e87975d9fe544233 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 10:25:58 -0300 Subject: [PATCH 02/23] chore(deps): lock file maintenance (#1633) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Ricardo Campos --- frontend/package-lock.json | 1719 ++++++++--------- .../ApplicantInformation/index.tsx | 4 +- .../repository/ParentTreeRepository.java | 71 +- 3 files changed, 824 insertions(+), 970 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 43f0f9637..420c07f9f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -116,27 +116,27 @@ "license": "0BSD" }, "node_modules/@aws-amplify/api": { - "version": "5.4.13", - "resolved": "https://registry.npmjs.org/@aws-amplify/api/-/api-5.4.13.tgz", - "integrity": "sha512-3G2gLAoxG8bb+DRxVreUKHbxi6Y3MlKDXLFvHPMsxY28qUVi+ee1MBZqf6WqYBTe6H9KFIPORCMIDqFNeO2kgg==", + "version": "5.4.14", + "resolved": "https://registry.npmjs.org/@aws-amplify/api/-/api-5.4.14.tgz", + "integrity": "sha512-kmt2N+cyQzd2w6SLMO6raVnxVU16bScs51+DBlhQ8jlPYAXD1ighqxFOOowlkmucVc7FLQrFkwWbTxN3CtQTBg==", "license": "Apache-2.0", "dependencies": { - "@aws-amplify/api-graphql": "3.4.19", + "@aws-amplify/api-graphql": "3.4.20", "@aws-amplify/api-rest": "3.5.13", "tslib": "^1.8.0" } }, "node_modules/@aws-amplify/api-graphql": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.4.19.tgz", - "integrity": "sha512-Pvg57LMwAqaFeYdBJCdyWNcLdyEqpgfPZPShrBJxbpNQZsuZwzRcOe8VOibCEBQS7XJi7NNBHzq19ESuLPhXtQ==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.4.20.tgz", + "integrity": "sha512-B/wxb2Gpi15w/1KDMg6gqh3UxbRMllkM0HKzCG31ERX3D/sna7pyYNz2OvBBaQ2hY5PYmxAB44MRMvhNfapCxg==", "license": "Apache-2.0", "dependencies": { "@aws-amplify/api-rest": "3.5.13", "@aws-amplify/auth": "5.6.13", "@aws-amplify/cache": "5.1.19", "@aws-amplify/core": "5.8.13", - "@aws-amplify/pubsub": "5.5.13", + "@aws-amplify/pubsub": "5.6.0", "graphql": "15.8.0", "tslib": "^1.8.0", "uuid": "^3.2.1", @@ -233,15 +233,15 @@ "license": "0BSD" }, "node_modules/@aws-amplify/datastore": { - "version": "4.7.13", - "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.7.13.tgz", - "integrity": "sha512-6HZR13bHGMpQfrJuD00JgMxEZU+mmp3EcOYTOVZyvYwg3OuG3iHyu66ik6cEvjf/CmrWFoil9tmoruBq5y+XRg==", + "version": "4.7.14", + "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.7.14.tgz", + "integrity": "sha512-yydfme4hgw+vJdi2oKaPhqBLYeco1U0kpJHxFVg6fWU+uSouDMGBBZOdUE4hj8rtKCHpoB7YAvyHrVAfu28ylg==", "license": "Apache-2.0", "dependencies": { - "@aws-amplify/api": "5.4.13", + "@aws-amplify/api": "5.4.14", "@aws-amplify/auth": "5.6.13", "@aws-amplify/core": "5.8.13", - "@aws-amplify/pubsub": "5.5.13", + "@aws-amplify/pubsub": "5.6.0", "amazon-cognito-identity-js": "6.3.13", "buffer": "4.9.2", "idb": "5.0.6", @@ -272,9 +272,9 @@ "license": "0BSD" }, "node_modules/@aws-amplify/interactions": { - "version": "5.2.19", - "resolved": "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.2.19.tgz", - "integrity": "sha512-BxJYifIlSELRcYgPRzSczobqj6xqUbahhD1KWVNzVR+zF31AwcoIpxo+pf/0z66azW8L3o50Cep9GHETvs0xaA==", + "version": "5.2.20", + "resolved": "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.2.20.tgz", + "integrity": "sha512-B/L2PwKmRzx42E9DRS0gdsmAX+ejz9vlOOFD6W3Ea9nNLDoN8RSRn0TrCp+5IlFJLXgJ9dNS6ipSs14mCyQ9UA==", "license": "Apache-2.0", "dependencies": { "@aws-amplify/core": "5.8.13", @@ -306,9 +306,9 @@ } }, "node_modules/@aws-amplify/predictions": { - "version": "5.5.14", - "resolved": "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.5.14.tgz", - "integrity": "sha512-eJzo6pnbt2FEi70Ib3Z4L3dWN5jH3pLW1hqvpAKuJjKpJ90C3dVSSTCOftbU8iu913TbXH2GvXUZ63FK3GKwEg==", + "version": "5.5.15", + "resolved": "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.5.15.tgz", + "integrity": "sha512-LTJFTvIP3MalGY1WDu2YxddxNfkeGPdKf0bjvEi8CmSJ6xvLLOdthJE1FwkqKXwmkW00tRrQ7WRWI3j/VhNMxQ==", "license": "Apache-2.0", "dependencies": { "@aws-amplify/core": "5.8.13", @@ -332,9 +332,9 @@ "license": "0BSD" }, "node_modules/@aws-amplify/pubsub": { - "version": "5.5.13", - "resolved": "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.5.13.tgz", - "integrity": "sha512-64RS6igRjSLvviUPPgGDUVkK1nxF63mXjkB34d6Ds7T4THdie02Kl5YzJVSiLog1/FjyD4zf7lNF2Cy+fTqiWA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.6.0.tgz", + "integrity": "sha512-NTsxowXD/IABenklIx/8ej300ZzzBMuR8Qs6Fs7tT5dwyaTBl+JFJ3tQyz9iJznfs3bDG8quMAfYaAPHB61NMg==", "license": "Apache-2.0", "dependencies": { "@aws-amplify/auth": "5.6.13", @@ -375,6 +375,28 @@ "tslib": "^1.8.0" } }, + "node_modules/@aws-amplify/storage/node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/@aws-amplify/storage/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -404,12 +426,12 @@ } }, "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.654.0.tgz", + "integrity": "sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^3.3.0", + "@smithy/types": "^3.4.2", "tslib": "^2.6.2" }, "engines": { @@ -4325,6 +4347,28 @@ "node": ">= 12.0.0" } }, + "node_modules/@aws-sdk/client-sts/node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/@aws-sdk/client-sts/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -8142,9 +8186,9 @@ "license": "MIT" }, "node_modules/@carbon/colors": { - "version": "11.25.0", - "resolved": "https://registry.npmjs.org/@carbon/colors/-/colors-11.25.0.tgz", - "integrity": "sha512-9Z6ZXd8fRtjhGeK7ZWUygPWTpNKdrlExQSU+AqaZDwWKt2qEebaeyEW2PVzT+egV/t9VOm4Ur+YcZBmhXB19TA==", + "version": "11.26.0", + "resolved": "https://registry.npmjs.org/@carbon/colors/-/colors-11.26.0.tgz", + "integrity": "sha512-36gCd8Oi9P2q2ZpCoGUmqwl2sj7FkwX4IdmONs+wPkG6eBA6PDET/h848bTBivrNKiSzgXaYeSim/qcs6yiXSg==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8162,20 +8206,20 @@ } }, "node_modules/@carbon/grid": { - "version": "11.26.0", - "resolved": "https://registry.npmjs.org/@carbon/grid/-/grid-11.26.0.tgz", - "integrity": "sha512-lxi1eLtxKJxZJXibQXX0uvCFvZloxsDEPRaLTtk2Ydia5nW+vv89igy+qgi74fSFNGYRWesOSejdTzSlwRTeoA==", + "version": "11.27.0", + "resolved": "https://registry.npmjs.org/@carbon/grid/-/grid-11.27.0.tgz", + "integrity": "sha512-UfFFpZCagdQf/PRmCQrmx8OnOBwgNmef0C0XP8tWt07DBCaa4cKI7/GI1hR2RW6EnrlHT1+d2Uk81e3EHnovmw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/layout": "^11.25.0", + "@carbon/layout": "^11.26.0", "@ibm/telemetry-js": "^1.5.0" } }, "node_modules/@carbon/icon-helpers": { - "version": "10.51.0", - "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.51.0.tgz", - "integrity": "sha512-fSAAmx0+jX7r7gEKNkFS/dvuFttD6SMT7Ntuue/D6pmrw4hET/8Itqz46QyruJDQjo/2dWfhpqR5tsMdZwpNmA==", + "version": "10.52.0", + "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.52.0.tgz", + "integrity": "sha512-240buh8gVKWeZBVlS9HHLirPUnhQQK2ZhgPT+mY8pHTy0CUz3aNe3TPtOY7T+L2NMKPNTchPqAKd6qkM7vGzhA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8183,13 +8227,13 @@ } }, "node_modules/@carbon/icons-react": { - "version": "11.48.0", - "resolved": "https://registry.npmjs.org/@carbon/icons-react/-/icons-react-11.48.0.tgz", - "integrity": "sha512-yqBIjQZ8WQjXPaT4sbPy75zNEt1qhrii+7IOxFhPDvdiyXFW5WHWXsac/1ORpDhkvbDZqjAIks0MChxVoLcHeQ==", + "version": "11.49.0", + "resolved": "https://registry.npmjs.org/@carbon/icons-react/-/icons-react-11.49.0.tgz", + "integrity": "sha512-3RaEJMw9HMHLnRqeC8bjFKT9eyXGf+K5PfoK+H/3Jpn27mJCBbMH46XUhbsNp7QvRIgqNZKGISPAsNR0dUz4rQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/icon-helpers": "^10.51.0", + "@carbon/icon-helpers": "^10.52.0", "@ibm/telemetry-js": "^1.5.0", "prop-types": "^15.7.2" }, @@ -8198,9 +8242,9 @@ } }, "node_modules/@carbon/layout": { - "version": "11.25.0", - "resolved": "https://registry.npmjs.org/@carbon/layout/-/layout-11.25.0.tgz", - "integrity": "sha512-bfgEIvYy6C0WNmJhSiIRdra9e+sSyxrw733uk/2dgVPj1i1pgAs1Y35v6PxGQPAhrcmQoX77Ho2eOA1Y/4V/EA==", + "version": "11.26.0", + "resolved": "https://registry.npmjs.org/@carbon/layout/-/layout-11.26.0.tgz", + "integrity": "sha512-PYA2c9y9OaVwuxnTo9ez2FQfKZKejIvbpRdCedB4Z61JAfv03e7ZKU55AdKUstdElanL4HS/drEE/H71siPoiw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8208,9 +8252,9 @@ } }, "node_modules/@carbon/motion": { - "version": "11.21.0", - "resolved": "https://registry.npmjs.org/@carbon/motion/-/motion-11.21.0.tgz", - "integrity": "sha512-inKG8lTNrtKBN8qjKn5pe3uZKFWymA6B7WVrU6Ded+KvyTRU2L1FJrapv9B6LPeBvntYVC++9/W3C3lDFUENUw==", + "version": "11.22.0", + "resolved": "https://registry.npmjs.org/@carbon/motion/-/motion-11.22.0.tgz", + "integrity": "sha512-S5UDzgpK1sVWPPrOaoZAXycaEIj1vqCNHFFihKKk9mSSeBbVe0al4qU7yhXTQRgZzKaGtf3MDnUhSVu5EYLjSA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8218,13 +8262,13 @@ } }, "node_modules/@carbon/pictograms-react": { - "version": "11.65.0", - "resolved": "https://registry.npmjs.org/@carbon/pictograms-react/-/pictograms-react-11.65.0.tgz", - "integrity": "sha512-DkM95WBNrn0zxOMNAuo5dLg7JAwldHH8thx0LAEq19JZCe5Plrjv3ooBA+WMMOFYE/TeO6ba3o1xNxLs/o0NYQ==", + "version": "11.66.0", + "resolved": "https://registry.npmjs.org/@carbon/pictograms-react/-/pictograms-react-11.66.0.tgz", + "integrity": "sha512-Qb3f7vcFZ3/tklexEUiZYz3aO9Y7f+MgJ2neraD7eRiCoV0mkdyWvuPKDc9KW6z8qFWPJ7xc1JPK623nfZ7K7A==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/icon-helpers": "^10.51.0", + "@carbon/icon-helpers": "^10.52.0", "@ibm/telemetry-js": "^1.5.0", "prop-types": "^15.7.2" }, @@ -8233,17 +8277,17 @@ } }, "node_modules/@carbon/react": { - "version": "1.65.0", - "resolved": "https://registry.npmjs.org/@carbon/react/-/react-1.65.0.tgz", - "integrity": "sha512-xjxSpAymOvlWheZYaytdsIQ/cnoPdqKhCroxP1/lKiqbVOD9eBGQ2OAs1RErlMretHqQKpx8Cow8YqjSpQkZ8A==", + "version": "1.66.0", + "resolved": "https://registry.npmjs.org/@carbon/react/-/react-1.66.0.tgz", + "integrity": "sha512-zbTheHe500QpLBpZdrbASKV2N6ddKVcoQpBJjLiXMaLH7YbwOmz4y+6Q7S71JFJgQWndkSbfolC8zG04N1a7LA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.24.7", "@carbon/feature-flags": "^0.22.0", - "@carbon/icons-react": "^11.48.0", - "@carbon/layout": "^11.25.0", - "@carbon/styles": "^1.64.0", + "@carbon/icons-react": "^11.49.0", + "@carbon/layout": "^11.26.0", + "@carbon/styles": "^1.65.0", "@floating-ui/react": "^0.26.0", "@ibm/telemetry-js": "^1.5.0", "classnames": "2.5.1", @@ -8269,19 +8313,19 @@ } }, "node_modules/@carbon/styles": { - "version": "1.64.0", - "resolved": "https://registry.npmjs.org/@carbon/styles/-/styles-1.64.0.tgz", - "integrity": "sha512-t0WQ9XR10ezq/laI9gF3+nkoJ6QqIbti5FdhXJeZO69ihcSCWQ+LJDImMPO8EhxED9fQUTqlLW9Z9uoUN2B81w==", + "version": "1.65.0", + "resolved": "https://registry.npmjs.org/@carbon/styles/-/styles-1.65.0.tgz", + "integrity": "sha512-I+U1g2IhI0IAmIDqNIxhOyXclnAKQ4/FR7xUvpWFZ+RBqEn6kPQqxjmJiinnFYr3rk3tClPj60uAzqbHjk8S0g==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/colors": "^11.25.0", + "@carbon/colors": "^11.26.0", "@carbon/feature-flags": "^0.22.0", - "@carbon/grid": "^11.26.0", - "@carbon/layout": "^11.25.0", - "@carbon/motion": "^11.21.0", - "@carbon/themes": "^11.39.0", - "@carbon/type": "^11.30.0", + "@carbon/grid": "^11.27.0", + "@carbon/layout": "^11.26.0", + "@carbon/motion": "^11.22.0", + "@carbon/themes": "^11.40.0", + "@carbon/type": "^11.31.0", "@ibm/plex": "6.0.0-next.6", "@ibm/telemetry-js": "^1.5.0" }, @@ -8295,28 +8339,28 @@ } }, "node_modules/@carbon/themes": { - "version": "11.39.0", - "resolved": "https://registry.npmjs.org/@carbon/themes/-/themes-11.39.0.tgz", - "integrity": "sha512-X7lJHx7uXSMy0W2OoNSmyx9flOzJ7a2H85qjsgtPR83h2ElS4E4m/7fKInYrdMJVYuBLOszW8n04N10EFCO/YA==", + "version": "11.40.0", + "resolved": "https://registry.npmjs.org/@carbon/themes/-/themes-11.40.0.tgz", + "integrity": "sha512-n/QHGmCqUHGHZsevyfjoB9fPY7THG46YSD3E5H8+pqbUPywnNTfldtU7D/hqx8b36LwtuY+I6Q4H8QQOqsCTIQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/colors": "^11.25.0", - "@carbon/layout": "^11.25.0", - "@carbon/type": "^11.30.0", + "@carbon/colors": "^11.26.0", + "@carbon/layout": "^11.26.0", + "@carbon/type": "^11.31.0", "@ibm/telemetry-js": "^1.5.0", "color": "^4.0.0" } }, "node_modules/@carbon/type": { - "version": "11.30.0", - "resolved": "https://registry.npmjs.org/@carbon/type/-/type-11.30.0.tgz", - "integrity": "sha512-6iVmXrvwWFh+Fmb2hg/4uy/h1MIyIp+xc/y6pYZeTraqezKFrmzOVyv1BFN4JgEIjudWwYM+x8fc/IgcmjF7IQ==", + "version": "11.31.0", + "resolved": "https://registry.npmjs.org/@carbon/type/-/type-11.31.0.tgz", + "integrity": "sha512-ehcLIp8MOUy828hkcU5TZldvJPmXHAu55f9cUa5K9OU2LRjddwdYUIqOr3PlCiPQgXl9M/rvce4hXAHCfdwYeg==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/grid": "^11.26.0", - "@carbon/layout": "^11.25.0", + "@carbon/grid": "^11.27.0", + "@carbon/layout": "^11.26.0", "@ibm/telemetry-js": "^1.5.0" } }, @@ -8356,16 +8400,16 @@ } }, "node_modules/@cypress/code-coverage": { - "version": "3.12.46", - "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.12.46.tgz", - "integrity": "sha512-Y6lG3VjJX8R64mZH5lSqZPw2aj89C1v7e8uC9Ngob1r1DgaAVRQtXZD6mXeHm23FHh131ZMckQ9b+AzCUeJ0mg==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.13.2.tgz", + "integrity": "sha512-HTPGEUwseNhr02YoAv/SrKNjGocvpYRaIkeMUKNfQ0UTKV68YwyNjfnqnp1u1g61z4+svJPFGVkgZtBkj2PYKw==", "dev": true, "license": "MIT", "dependencies": { "@cypress/webpack-preprocessor": "^6.0.0", "chalk": "4.1.2", - "dayjs": "1.11.12", - "debug": "4.3.6", + "dayjs": "1.11.13", + "debug": "4.3.7", "execa": "4.1.0", "globby": "11.1.0", "istanbul-lib-coverage": "^3.0.0", @@ -8483,6 +8527,20 @@ "node": ">=8" } }, + "node_modules/@cypress/code-coverage/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/@cypress/code-coverage/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8712,9 +8770,9 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", - "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz", + "integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8724,14 +8782,14 @@ "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", + "form-data": "~4.0.0", + "http-signature": "~1.4.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.10.4", + "qs": "6.13.0", "safe-buffer": "^5.1.2", "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", @@ -8742,18 +8800,18 @@ } }, "node_modules/@cypress/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.12" + "node": ">= 6" } }, "node_modules/@cypress/request/node_modules/uuid": { @@ -9244,9 +9302,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -9325,41 +9383,41 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@floating-ui/core": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.7.tgz", - "integrity": "sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.7" + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.10", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz", - "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==", + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.11.tgz", + "integrity": "sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==", "license": "MIT", "dependencies": { "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.7" + "@floating-ui/utils": "^0.2.8" } }, "node_modules/@floating-ui/react": { - "version": "0.26.23", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.23.tgz", - "integrity": "sha512-9u3i62fV0CFF3nIegiWiRDwOs7OW/KhSUJDNx2MkQM3LbE5zQOY01sL3nelcVBXvX7Ovvo3A49I8ql+20Wg/Hw==", + "version": "0.26.24", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.24.tgz", + "integrity": "sha512-2ly0pCkZIGEQUq5H8bBK0XJmc1xIK/RM3tvVzY3GBER7IOD1UgmC2Y2tjj4AuS+TC+vTE1KJv2053290jua0Sw==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.1.1", - "@floating-ui/utils": "^0.2.7", + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.8", "tabbable": "^6.0.0" }, "peerDependencies": { @@ -9368,9 +9426,9 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", - "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.0.0" @@ -9381,9 +9439,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz", - "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", "license": "MIT" }, "node_modules/@hapi/hoek": { @@ -9402,13 +9460,13 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -9495,9 +9553,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -9979,19 +10037,19 @@ } }, "node_modules/@react-native-community/cli": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-14.0.0.tgz", - "integrity": "sha512-KwMKJB5jsDxqOhT8CGJ55BADDAYxlYDHv5R/ASQlEcdBEZxT0zZmnL0iiq2VqzETUy+Y/Nop+XDFgqyoQm0C2w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-14.1.0.tgz", + "integrity": "sha512-k7aTdKNZIec7WMSqMJn9bDVLWPPOaYmshXcnjWy6t5ItsJnREju9p2azMTR5tXY5uIeynose3cxettbhk2Tbnw==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-clean": "14.0.0", - "@react-native-community/cli-config": "14.0.0", - "@react-native-community/cli-debugger-ui": "14.0.0", - "@react-native-community/cli-doctor": "14.0.0", - "@react-native-community/cli-server-api": "14.0.0", - "@react-native-community/cli-tools": "14.0.0", - "@react-native-community/cli-types": "14.0.0", + "@react-native-community/cli-clean": "14.1.0", + "@react-native-community/cli-config": "14.1.0", + "@react-native-community/cli-debugger-ui": "14.1.0", + "@react-native-community/cli-doctor": "14.1.0", + "@react-native-community/cli-server-api": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", + "@react-native-community/cli-types": "14.1.0", "chalk": "^4.1.2", "commander": "^9.4.1", "deepmerge": "^4.3.0", @@ -10010,13 +10068,13 @@ } }, "node_modules/@react-native-community/cli-clean": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-14.0.0.tgz", - "integrity": "sha512-kvHthZTNur/wLLx8WL5Oh+r04zzzFAX16r8xuaLhu9qGTE6Th1JevbsIuiQb5IJqD8G/uZDKgIZ2a0/lONcbJg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-14.1.0.tgz", + "integrity": "sha512-/C4j1yntLo6faztNgZnsDtgpGqa6j0+GYrxOY8LqaKAN03OCnoeUUKO6w78dycbYSGglc1xjJg2RZI/M2oF2AA==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2" @@ -10146,13 +10204,13 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-14.0.0.tgz", - "integrity": "sha512-2Nr8KR+dgn1z+HLxT8piguQ1SoEzgKJnOPQKE1uakxWaRFcQ4LOXgzpIAscYwDW6jmQxdNqqbg2cRUoOS7IMtQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-14.1.0.tgz", + "integrity": "sha512-P3FK2rPUJBD1fmQHLgTqpHxsc111pnMdEEFR7KeqprCNz+Qr2QpPxfNy0V7s15tGL5rAv+wpbOGcioIV50EbxA==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "cosmiconfig": "^9.0.0", "deepmerge": "^4.3.0", @@ -10264,9 +10322,9 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-14.0.0.tgz", - "integrity": "sha512-JpfzILfU7eKE9+7AMCAwNJv70H4tJGVv3ZGFqSVoK1YHg5QkVEGsHtoNW8AsqZRS6Fj4os+Fmh+r+z1L36sPmg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-14.1.0.tgz", + "integrity": "sha512-+YbeCL0wLcBcqDwraJFGsqzcXu9S+bwTVrfImne/4mT6itfe3Oa93yrOVJgNbstrt5pJHuwpU76ZXfXoiuncsg==", "license": "MIT", "peer": true, "dependencies": { @@ -10274,17 +10332,17 @@ } }, "node_modules/@react-native-community/cli-doctor": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-14.0.0.tgz", - "integrity": "sha512-in6jylHjaPUaDzV+JtUblh8m9JYIHGjHOf6Xn57hrmE5Zwzwuueoe9rSMHF1P0mtDgRKrWPzAJVejElddfptWA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-14.1.0.tgz", + "integrity": "sha512-xIf0oQDRKt7lufUenRwcLYdINGc0x1FSXHaHjd7lQDGT5FJnCEYlIkYEDDgAl5tnVJSvM/IL2c6O+mffkNEPzQ==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-config": "14.0.0", - "@react-native-community/cli-platform-android": "14.0.0", - "@react-native-community/cli-platform-apple": "14.0.0", - "@react-native-community/cli-platform-ios": "14.0.0", - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-config": "14.1.0", + "@react-native-community/cli-platform-android": "14.1.0", + "@react-native-community/cli-platform-apple": "14.1.0", + "@react-native-community/cli-platform-ios": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "command-exists": "^1.2.8", "deepmerge": "^4.3.0", @@ -10458,17 +10516,17 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-14.0.0.tgz", - "integrity": "sha512-nt7yVz3pGKQXnVa5MAk7zR+1n41kNKD3Hi2OgybH5tVShMBo7JQoL2ZVVH6/y/9wAwI/s7hXJgzf1OIP3sMq+Q==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-14.1.0.tgz", + "integrity": "sha512-4JnXkAV+ca8XdUhZ7xjgDhXAMwTVjQs8JqiwP7FTYVrayShXy2cBXm/C3HNDoe+oQOF5tPT2SqsDAF2vYTnKiQ==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", - "fast-xml-parser": "^4.2.4", + "fast-xml-parser": "^4.4.1", "logkitty": "^0.7.1" } }, @@ -10596,17 +10654,17 @@ } }, "node_modules/@react-native-community/cli-platform-apple": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-14.0.0.tgz", - "integrity": "sha512-WniJL8vR4MeIsjqio2hiWWuUYUJEL3/9TDL5aXNwG68hH3tYgK3742+X9C+vRzdjTmf5IKc/a6PwLsdplFeiwQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-14.1.0.tgz", + "integrity": "sha512-DExd+pZ7hHxXt8I6BBmckeYUxxq7PQ+o4YSmGIeQx0xUpi+f82obBct2WNC3VWU72Jw6obwfoN6Fwe6F7Wxp5Q==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", - "fast-xml-parser": "^4.2.4", + "fast-xml-parser": "^4.4.1", "ora": "^5.4.1" } }, @@ -10734,24 +10792,24 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-14.0.0.tgz", - "integrity": "sha512-8kxGv7mZ5nGMtueQDq+ndu08f0ikf3Zsqm3Ix8FY5KCXpSgP14uZloO2GlOImq/zFESij+oMhCkZJGggpWpfAw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-14.1.0.tgz", + "integrity": "sha512-ah/ZTiJXUdCVHujyRJ4OmCL5nTq8OWcURcE3UXa1z0sIIiA8io06n+v5n299T9rtPKMwRtVJlQjtO/nbODABPQ==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-platform-apple": "14.0.0" + "@react-native-community/cli-platform-apple": "14.1.0" } }, "node_modules/@react-native-community/cli-server-api": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-14.0.0.tgz", - "integrity": "sha512-A0FIsj0QCcDl1rswaVlChICoNbfN+mkrKB5e1ab5tOYeZMMyCHqvU+eFvAvXjHUlIvVI+LbqCkf4IEdQ6H/2AQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-14.1.0.tgz", + "integrity": "sha512-1k2LBQaYsy9RDWFIfKVne3frOye73O33MV6eYMoRPff7wqxHCrsX1CYJQkmwpgVigZHxYwalHj+Axtu3gpomCA==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-debugger-ui": "14.0.0", - "@react-native-community/cli-tools": "14.0.0", + "@react-native-community/cli-debugger-ui": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -10888,9 +10946,9 @@ } }, "node_modules/@react-native-community/cli-tools": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-14.0.0.tgz", - "integrity": "sha512-L7GX5hyYYv0ZWbAyIQKzhHuShnwDqlKYB0tqn57wa5riGCaxYuRPTK+u4qy+WRCye7+i8M4Xj6oQtSd4z0T9cA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-14.1.0.tgz", + "integrity": "sha512-r1KxSu2+OSuhWFoE//1UR7aSTXMLww/UYWQprEw4bSo/kvutGX//4r9ywgXSWp+39udpNN4jQpNTHuWhGZd/Bg==", "license": "MIT", "peer": true, "dependencies": { @@ -11043,9 +11101,9 @@ } }, "node_modules/@react-native-community/cli-types": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-14.0.0.tgz", - "integrity": "sha512-CMUevd1pOWqvmvutkUiyQT2lNmMHUzSW7NKc1xvHgg39NjbS58Eh2pMzIUP85IwbYNeocfYc3PH19vA/8LnQtg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-14.1.0.tgz", + "integrity": "sha512-aJwZI9mGRx3HdP8U4CGhqjt3S4r8GmeOqv4kRagC1UHDk4QNMC+bZ8JgPA4W7FrGiPey+lJQHMDPAXOo51SOUw==", "license": "MIT", "peer": true, "dependencies": { @@ -11234,9 +11292,9 @@ } }, "node_modules/@react-native/assets-registry": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.75.2.tgz", - "integrity": "sha512-P1dLHjpUeC0AIkDHRYcx0qLMr+p92IPWL3pmczzo6T76Qa9XzruQOYy0jittxyBK91Csn6HHQ/eit8TeXW8MVw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.75.3.tgz", + "integrity": "sha512-i7MaRbYR06WdpJWv3a0PQ2ScFBUeevwcJ0tVopnFwTg0tBWp3NFEMDIcU8lyXVy9Y59WmrP1V2ROaRDaPiESgg==", "license": "MIT", "peer": true, "engines": { @@ -11244,22 +11302,22 @@ } }, "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.2.tgz", - "integrity": "sha512-BIKVh2ZJPkzluUGgCNgpoh6NTHgX8j04FCS0Z/rTmRJ66hir/EUBl8frMFKrOy/6i4VvZEltOWB5eWfHe1AYgw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.3.tgz", + "integrity": "sha512-8JmXEKq+Efb9AffsV48l8gmKe/ZQ2PbBygZjHdIf8DNZZhO/z5mt27J4B43MWNdp5Ww1l59T0mEaf8l/uywQUg==", "license": "MIT", "peer": true, "dependencies": { - "@react-native/codegen": "0.75.2" + "@react-native/codegen": "0.75.3" }, "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-preset": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.2.tgz", - "integrity": "sha512-mprpsas+WdCEMjQZnbDiAC4KKRmmLbMB+o/v4mDqKlH4Mcm7RdtP5t80MZGOVCHlceNp1uEIpXywx69DNwgbgg==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.3.tgz", + "integrity": "sha512-VZQkQEj36DKEGApXFYdVcFtqdglbnoVr7aOZpjffURSgPcIA9vWTm1b+OL4ayOaRZXTZKiDBNQCXvBX5E5AgQg==", "license": "MIT", "peer": true, "dependencies": { @@ -11305,7 +11363,7 @@ "@babel/plugin-transform-typescript": "^7.5.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.75.2", + "@react-native/babel-plugin-codegen": "0.75.3", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" }, @@ -11317,9 +11375,9 @@ } }, "node_modules/@react-native/codegen": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.2.tgz", - "integrity": "sha512-OkWdbtO2jTkfOXfj3ibIL27rM6LoaEuApOByU2G8X+HS6v9U87uJVJlMIRWBDmnxODzazuHwNVA2/wAmSbucaw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.3.tgz", + "integrity": "sha512-I0bz5jwOkiR7vnhYLGoV22RGmesErUg03tjsCiQgmsMpbyCYumudEtLNN5+DplHGK56bu8KyzBqKkWXGSKSCZQ==", "license": "MIT", "peer": true, "dependencies": { @@ -11394,103 +11452,28 @@ } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.2.tgz", - "integrity": "sha512-/tz0bzVja4FU0aAimzzQ7iYR43peaD6pzksArdrrGhlm8OvFYAQPOYSNeIQVMSarwnkNeg1naFKaeYf1o3++yA==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.3.tgz", + "integrity": "sha512-njsYm+jBWzfLcJcxavAY5QFzYTrmPtjbxq/64GSqwcQYzy9qAkI7LNTK/Wprq1I/4HOuHJO7Km+EddCXB+ByRQ==", "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-server-api": "14.0.0-alpha.11", - "@react-native-community/cli-tools": "14.0.0-alpha.11", - "@react-native/dev-middleware": "0.75.2", - "@react-native/metro-babel-transformer": "0.75.2", + "@react-native-community/cli-server-api": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", + "@react-native/dev-middleware": "0.75.3", + "@react-native/metro-babel-transformer": "0.75.3", "chalk": "^4.0.0", "execa": "^5.1.1", "metro": "^0.80.3", "metro-config": "^0.80.3", "metro-core": "^0.80.3", "node-fetch": "^2.2.0", - "querystring": "^0.2.1", "readline": "^1.3.0" }, "engines": { "node": ">=18" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native-community/cli-debugger-ui": { - "version": "14.0.0-alpha.11", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-14.0.0-alpha.11.tgz", - "integrity": "sha512-0wCNQxhCniyjyMXgR1qXliY180y/2QbvoiYpp2MleGQADr5M1b8lgI4GoyADh5kE+kX3VL0ssjgyxpmbpCD86A==", - "license": "MIT", - "peer": true, - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native-community/cli-server-api": { - "version": "14.0.0-alpha.11", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-14.0.0-alpha.11.tgz", - "integrity": "sha512-I7YeYI7S5wSxnQAqeG8LNqhT99FojiGIk87DU0vTp6U8hIMLcA90fUuBAyJY38AuQZ12ZJpGa8ObkhIhWzGkvg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@react-native-community/cli-debugger-ui": "14.0.0-alpha.11", - "@react-native-community/cli-tools": "14.0.0-alpha.11", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^6.2.3" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native-community/cli-tools": { - "version": "14.0.0-alpha.11", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-14.0.0-alpha.11.tgz", - "integrity": "sha512-HQCfVnX9aqRdKdLxmQy4fUAUo+YhNGlBV7ZjOayPbuEGWJ4RN+vSy0Cawk7epo7hXd6vKzc7P7y3HlU6Kxs7+w==", - "license": "MIT", - "peer": true, - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11601,42 +11584,6 @@ "node": ">=10.17.0" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT", - "peer": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11651,9 +11598,9 @@ } }, "node_modules/@react-native/debugger-frontend": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.75.2.tgz", - "integrity": "sha512-qIC6mrlG8RQOPaYLZQiJwqnPchAVGnHWcVDeQxPMPLkM/D5+PC8tuKWYOwgLcEau3RZlgz7QQNk31Qj2/OJG6Q==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.75.3.tgz", + "integrity": "sha512-99bLQsUwsxUMNR7Wa9eV2uyR38yfd6mOEqfN+JIm8/L9sKA926oh+CZkjDy1M8RmCB6spB5N9fVFVkrVdf2yFA==", "license": "BSD-3-Clause", "peer": true, "engines": { @@ -11661,14 +11608,14 @@ } }, "node_modules/@react-native/dev-middleware": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.75.2.tgz", - "integrity": "sha512-fTC5m2uVjYp1XPaIJBFgscnQjPdGVsl96z/RfLgXDq0HBffyqbg29ttx6yTCx7lIa9Gdvf6nKQom+e+Oa4izSw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.75.3.tgz", + "integrity": "sha512-h2/6+UGmeMWjnT43axy27jNqoDRsE1C1qpjRC3sYpD4g0bI0jSTkY1kAgj8uqGGXLnHXiHOtjLDGdbAgZrsPaA==", "license": "MIT", "peer": true, "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.75.2", + "@react-native/debugger-frontend": "0.75.3", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -11719,9 +11666,9 @@ } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.75.2.tgz", - "integrity": "sha512-AELeAOCZi3B2vE6SeN+mjpZjjqzqa76yfFBB3L3f3NWiu4dm/YClTGOj+5IVRRgbt8LDuRImhDoaj7ukheXr4Q==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.75.3.tgz", + "integrity": "sha512-mSfa/Mq/AsALuG/kvXz5ECrc6HdY5waMHal2sSfa8KA0Gt3JqYQVXF9Pdwd4yR5ClPZDI2HRa1tdE8GVlhMvPA==", "license": "MIT", "peer": true, "engines": { @@ -11729,9 +11676,9 @@ } }, "node_modules/@react-native/js-polyfills": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.2.tgz", - "integrity": "sha512-AtLd3mbiE+FXK2Ru3l2NFOXDhUvzdUsCP4qspUw0haVaO/9xzV97RVD2zz0lur2f/LmZqQ2+KXyYzr7048b5iw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.3.tgz", + "integrity": "sha512-+JVFJ351GSJT3V7LuXscMqfnpR/UxzsAjbBjfAHBR3kqTbVqrAmBccqPCA3NLzgb/RY8khLJklwMUVlWrn8iFg==", "license": "MIT", "peer": true, "engines": { @@ -11739,14 +11686,14 @@ } }, "node_modules/@react-native/metro-babel-transformer": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.2.tgz", - "integrity": "sha512-EygglCCuOub2sZ00CSIiEekCXoGL2XbOC6ssOB47M55QKvhdPG/0WBQXvmOmiN42uZgJK99Lj749v4rB0PlPIQ==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.3.tgz", + "integrity": "sha512-gDlEl6C2mwQPLxFOR+yla5MpJpDPNOFD6J5Hd9JM9+lOdUq6MNujh1Xn4ZMvglW7rfViq3nMjg4xPQeGUhDG+w==", "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.75.2", + "@react-native/babel-preset": "0.75.3", "hermes-parser": "0.22.0", "nullthrows": "^1.1.1" }, @@ -11758,16 +11705,16 @@ } }, "node_modules/@react-native/normalize-colors": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.75.2.tgz", - "integrity": "sha512-nPwWJFtsqNFS/qSG9yDOiSJ64mjG7RCP4X/HXFfyWzCM1jq49h/DYBdr+c3e7AvTKGIdy0gGT3vgaRUHZFVdUQ==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.75.3.tgz", + "integrity": "sha512-3mhF8AJFfIN0E5bEs/DQ4U2LzMJYm+FPSwY5bJ1DZhrxW1PFAh24bAPrSd8PwS0iarQ7biLdr1lWf/8LFv8pDA==", "license": "MIT", "peer": true }, "node_modules/@react-native/virtualized-lists": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.75.2.tgz", - "integrity": "sha512-pD5SVCjxc8k+JdoyQ+IlulBTEqJc3S4KUKsmv5zqbNCyETB0ZUvd4Su7bp+lLF6ALxx6KKmbGk8E3LaWEjUFFQ==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.75.3.tgz", + "integrity": "sha512-cTLm7k7Y//SvV8UK8esrDHEw5OrwwSJ4Fqc3x52Imi6ROuhshfGIPFwhtn4pmAg9nWHzHwwqiJ+9hCSVnXXX+g==", "license": "MIT", "peer": true, "dependencies": { @@ -11789,18 +11736,18 @@ } }, "node_modules/@remix-run/router": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", - "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", - "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], @@ -11811,9 +11758,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", - "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], @@ -11824,9 +11771,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", - "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], @@ -11837,9 +11784,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", - "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], @@ -11850,9 +11797,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", - "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], @@ -11863,9 +11810,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", - "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -11876,9 +11823,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", - "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], @@ -11889,9 +11836,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", - "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], @@ -11902,9 +11849,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", - "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], @@ -11915,9 +11862,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", - "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], @@ -11928,9 +11875,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", - "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], @@ -11941,9 +11888,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", - "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], @@ -11954,9 +11901,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", - "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], @@ -11967,9 +11914,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", - "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], @@ -11980,9 +11927,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", - "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], @@ -11993,9 +11940,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", - "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], @@ -12054,9 +12001,9 @@ } }, "node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.4.2.tgz", + "integrity": "sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -12457,9 +12404,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.2.tgz", - "integrity": "sha512-91s/n4qUPV/wg8eE9KHYW1kouTfDk2FPGjXbBMfRWP/2vg1rCXNQL1OCabwGs0XSdukuK+MwCDXE30QpSeMUhQ==", + "version": "20.16.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.6.tgz", + "integrity": "sha512-T7PpxM/6yeDE+AdlVysT62BX6/bECZOmQAgiFg5NoBd5MQheZ3tzal7f1wvzfiEcmrcJNRi2zRr2nY2zF+0uqw==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -12486,15 +12433,15 @@ } }, "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", - "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "version": "18.3.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.9.tgz", + "integrity": "sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==", "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -12551,9 +12498,9 @@ "peer": true }, "node_modules/@types/validator": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.1.tgz", - "integrity": "sha512-w0URwf7BQb0rD/EuiG12KP0bailHKHP5YVviJG9zw3ykAokL0TuxU2TUqMB7EwZ59bDHYdeTIvjI5m0S7qHfOA==", + "version": "13.12.2", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.2.tgz", + "integrity": "sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==", "license": "MIT" }, "node_modules/@types/yargs": { @@ -12807,20 +12754,20 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.0.5.tgz", - "integrity": "sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-lib-source-maps": "^5.0.6", "istanbul-reports": "^3.1.7", - "magic-string": "^0.30.10", + "magic-string": "^0.30.11", "magicast": "^0.3.4", "std-env": "^3.7.0", "test-exclude": "^7.0.1", @@ -12830,17 +12777,23 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "2.0.5" + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "license": "MIT", "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" }, @@ -12848,10 +12801,37 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", + "license": "MIT", + "dependencies": { + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "license": "MIT", "dependencies": { "tinyrainbow": "^1.2.0" @@ -12861,12 +12841,12 @@ } }, "node_modules/@vitest/runner": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", - "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "license": "MIT", "dependencies": { - "@vitest/utils": "2.0.5", + "@vitest/utils": "2.1.1", "pathe": "^1.1.2" }, "funding": { @@ -12874,13 +12854,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", - "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.5", - "magic-string": "^0.30.10", + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", "pathe": "^1.1.2" }, "funding": { @@ -12888,9 +12868,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "license": "MIT", "dependencies": { "tinyspy": "^3.0.0" @@ -12900,13 +12880,12 @@ } }, "node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", + "@vitest/pretty-format": "2.1.1", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" }, @@ -13166,9 +13145,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, "license": "MIT", "dependencies": { @@ -13773,22 +13752,22 @@ } }, "node_modules/aws-amplify": { - "version": "5.3.21", - "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.3.21.tgz", - "integrity": "sha512-wTzycfJ/BnMx9yjv5GXnRc0KM5IA27ZFy6v/dnj2umeG81QpbK5bJP1DOfhhRUl3vKIXIjFL+b2Pb5yVwr05ZQ==", + "version": "5.3.23", + "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.3.23.tgz", + "integrity": "sha512-FsHAl1h9qUhV+WLgac26gyqvE18x0GGQ5jbtIQkeFGzlb6KSVOIqHYsEp/sYgcUGp3cSADsGPVgBWWLjwMOswA==", "license": "Apache-2.0", "dependencies": { "@aws-amplify/analytics": "6.5.13", - "@aws-amplify/api": "5.4.13", + "@aws-amplify/api": "5.4.14", "@aws-amplify/auth": "5.6.13", "@aws-amplify/cache": "5.1.19", "@aws-amplify/core": "5.8.13", - "@aws-amplify/datastore": "4.7.13", + "@aws-amplify/datastore": "4.7.14", "@aws-amplify/geo": "2.3.13", - "@aws-amplify/interactions": "5.2.19", + "@aws-amplify/interactions": "5.2.20", "@aws-amplify/notifications": "1.6.14", - "@aws-amplify/predictions": "5.5.14", - "@aws-amplify/pubsub": "5.5.13", + "@aws-amplify/predictions": "5.5.15", + "@aws-amplify/pubsub": "5.6.0", "@aws-amplify/storage": "5.9.14", "tslib": "^2.0.0" } @@ -13866,9 +13845,9 @@ } }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, "license": "MIT", "peer": true, @@ -13991,6 +13970,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -14078,9 +14058,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -14097,8 +14077,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -14298,9 +14278,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001655", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", - "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "funding": [ { "type": "opencollective", @@ -14377,6 +14357,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -14401,6 +14382,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -15021,14 +15003,14 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "13.14.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.1.tgz", - "integrity": "sha512-Wo+byPmjps66hACEH5udhXINEiN3qS3jWNGRzJOjrRJF3D0+YrcP2LVB1T7oYaVQM/S+eanqEvBWYc8cf7Vcbg==", + "version": "13.14.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz", + "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.1", + "@cypress/request": "^3.0.4", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -15294,18 +15276,18 @@ } }, "node_modules/dayjs": { - "version": "1.11.12", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", - "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "license": "MIT" }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -15547,9 +15529,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", - "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -15627,9 +15609,9 @@ } }, "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "license": "MIT", "peer": true, "bin": { @@ -15911,16 +15893,16 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -16070,9 +16052,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.2.tgz", - "integrity": "sha512-3XnC5fDyc8M4J2E8pt8pmSVRX2M+5yWMCfI/kDZwauQeFgzQOuhcRBFKjTeJagqgk4sFKxe1mvNVnaWwImx/Tg==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", "license": "MIT", "dependencies": { "debug": "^3.2.7" @@ -16372,9 +16354,9 @@ } }, "node_modules/eslint-plugin-n": { - "version": "17.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.2.tgz", - "integrity": "sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==", + "version": "17.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.3.tgz", + "integrity": "sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==", "dev": true, "license": "MIT", "dependencies": { @@ -16440,9 +16422,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "dev": true, "license": "MIT", "dependencies": { @@ -16975,9 +16957,9 @@ "peer": true }, "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", + "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", "funding": [ { "type": "github", @@ -17175,9 +17157,9 @@ "peer": true }, "node_modules/flow-parser": { - "version": "0.245.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.245.0.tgz", - "integrity": "sha512-xUBkkpIDfDZHAebnDEX65FCVitJUctab82KFmtP5SY4cGly1vbuYNe6Muyp0NLXrgmBChVdoC2T+3/RUHi4Mww==", + "version": "0.246.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.246.0.tgz", + "integrity": "sha512-WHRizzSrWFTcKo7cVcbP3wzZVhzsoYxoWqbnH4z+JXGqrjVmnsld6kBZWVlB200PwD5ur8r+HV3KUDxv3cHhOQ==", "license": "MIT", "peer": true, "engines": { @@ -17185,9 +17167,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -17214,17 +17196,33 @@ } }, "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/forever-agent": { @@ -17633,9 +17631,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", - "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", "dev": true, "license": "MIT", "dependencies": { @@ -17982,15 +17980,15 @@ } }, "node_modules/http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", "dev": true, "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", - "sshpk": "^1.14.1" + "sshpk": "^1.18.0" }, "engines": { "node": ">=0.10" @@ -18212,6 +18210,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -20241,9 +20240,9 @@ } }, "node_modules/metro": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.10.tgz", - "integrity": "sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.12.tgz", + "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", "license": "MIT", "peer": true, "dependencies": { @@ -20263,26 +20262,25 @@ "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.23.0", + "hermes-parser": "0.23.1", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.6.3", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.10", - "metro-cache": "0.80.10", - "metro-cache-key": "0.80.10", - "metro-config": "0.80.10", - "metro-core": "0.80.10", - "metro-file-map": "0.80.10", - "metro-resolver": "0.80.10", - "metro-runtime": "0.80.10", - "metro-source-map": "0.80.10", - "metro-symbolicate": "0.80.10", - "metro-transform-plugins": "0.80.10", - "metro-transform-worker": "0.80.10", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-config": "0.80.12", + "metro-core": "0.80.12", + "metro-file-map": "0.80.12", + "metro-resolver": "0.80.12", + "metro-runtime": "0.80.12", + "metro-source-map": "0.80.12", + "metro-symbolicate": "0.80.12", + "metro-transform-plugins": "0.80.12", + "metro-transform-worker": "0.80.12", "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", @@ -20299,15 +20297,15 @@ } }, "node_modules/metro-babel-transformer": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.10.tgz", - "integrity": "sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", + "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.20.0", "flow-enums-runtime": "^0.0.6", - "hermes-parser": "0.23.0", + "hermes-parser": "0.23.1", "nullthrows": "^1.1.1" }, "engines": { @@ -20315,41 +20313,41 @@ } }, "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.0.tgz", - "integrity": "sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", "license": "MIT", "peer": true }, "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.0.tgz", - "integrity": "sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", "license": "MIT", "peer": true, "dependencies": { - "hermes-estree": "0.23.0" + "hermes-estree": "0.23.1" } }, "node_modules/metro-cache": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.10.tgz", - "integrity": "sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.12.tgz", + "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", "license": "MIT", "peer": true, "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", - "metro-core": "0.80.10" + "metro-core": "0.80.12" }, "engines": { "node": ">=18" } }, "node_modules/metro-cache-key": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.10.tgz", - "integrity": "sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.12.tgz", + "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", "license": "MIT", "peer": true, "dependencies": { @@ -20360,9 +20358,9 @@ } }, "node_modules/metro-config": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.10.tgz", - "integrity": "sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.12.tgz", + "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", "license": "MIT", "peer": true, "dependencies": { @@ -20370,10 +20368,10 @@ "cosmiconfig": "^5.0.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.6.3", - "metro": "0.80.10", - "metro-cache": "0.80.10", - "metro-core": "0.80.10", - "metro-runtime": "0.80.10" + "metro": "0.80.12", + "metro-cache": "0.80.12", + "metro-core": "0.80.12", + "metro-runtime": "0.80.12" }, "engines": { "node": ">=18" @@ -20458,24 +20456,24 @@ } }, "node_modules/metro-core": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.10.tgz", - "integrity": "sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.12.tgz", + "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.10" + "metro-resolver": "0.80.12" }, "engines": { "node": ">=18" } }, "node_modules/metro-file-map": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.10.tgz", - "integrity": "sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.12.tgz", + "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", "license": "MIT", "peer": true, "dependencies": { @@ -20516,9 +20514,9 @@ "peer": true }, "node_modules/metro-minify-terser": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.10.tgz", - "integrity": "sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", + "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", "license": "MIT", "peer": true, "dependencies": { @@ -20530,9 +20528,9 @@ } }, "node_modules/metro-resolver": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.10.tgz", - "integrity": "sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.12.tgz", + "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", "license": "MIT", "peer": true, "dependencies": { @@ -20543,13 +20541,13 @@ } }, "node_modules/metro-runtime": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.10.tgz", - "integrity": "sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.12.tgz", + "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", "license": "MIT", "peer": true, "dependencies": { - "@babel/runtime": "^7.0.0", + "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" }, "engines": { @@ -20557,9 +20555,9 @@ } }, "node_modules/metro-source-map": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.10.tgz", - "integrity": "sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.12.tgz", + "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", "license": "MIT", "peer": true, "dependencies": { @@ -20567,9 +20565,9 @@ "@babel/types": "^7.20.0", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-symbolicate": "0.80.10", + "metro-symbolicate": "0.80.12", "nullthrows": "^1.1.1", - "ob1": "0.80.10", + "ob1": "0.80.12", "source-map": "^0.5.6", "vlq": "^1.0.0" }, @@ -20578,15 +20576,15 @@ } }, "node_modules/metro-symbolicate": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.10.tgz", - "integrity": "sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", + "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", "license": "MIT", "peer": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-source-map": "0.80.10", + "metro-source-map": "0.80.12", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "through2": "^2.0.1", @@ -20600,9 +20598,9 @@ } }, "node_modules/metro-transform-plugins": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.10.tgz", - "integrity": "sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", + "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", "license": "MIT", "peer": true, "dependencies": { @@ -20618,9 +20616,9 @@ } }, "node_modules/metro-transform-worker": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.10.tgz", - "integrity": "sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", + "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", "license": "MIT", "peer": true, "dependencies": { @@ -20629,13 +20627,13 @@ "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", "flow-enums-runtime": "^0.0.6", - "metro": "0.80.10", - "metro-babel-transformer": "0.80.10", - "metro-cache": "0.80.10", - "metro-cache-key": "0.80.10", - "metro-minify-terser": "0.80.10", - "metro-source-map": "0.80.10", - "metro-transform-plugins": "0.80.10", + "metro": "0.80.12", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-minify-terser": "0.80.12", + "metro-source-map": "0.80.12", + "metro-transform-plugins": "0.80.12", "nullthrows": "^1.1.1" }, "engines": { @@ -20738,20 +20736,20 @@ } }, "node_modules/metro/node_modules/hermes-estree": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.0.tgz", - "integrity": "sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", "license": "MIT", "peer": true }, "node_modules/metro/node_modules/hermes-parser": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.0.tgz", - "integrity": "sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", "license": "MIT", "peer": true, "dependencies": { - "hermes-estree": "0.23.0" + "hermes-estree": "0.23.1" } }, "node_modules/metro/node_modules/ms": { @@ -20939,9 +20937,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, "node_modules/nanoid": { @@ -21137,9 +21135,9 @@ "peer": true }, "node_modules/nyc": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.0.0.tgz", - "integrity": "sha512-ISp44nqNCaPugLLGGfknzQwSwt10SSS5IMoPR7GLoMAyS18Iw5js8U7ga2VF9lYuMZ42gOHr3UddZw4WZltxKg==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz", + "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==", "dev": true, "license": "ISC", "dependencies": { @@ -21150,7 +21148,7 @@ "decamelize": "^1.2.0", "find-cache-dir": "^3.2.0", "find-up": "^4.1.0", - "foreground-child": "^2.0.0", + "foreground-child": "^3.3.0", "get-package-type": "^0.1.0", "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", @@ -21376,9 +21374,9 @@ } }, "node_modules/ob1": { - "version": "0.80.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.10.tgz", - "integrity": "sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==", + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.12.tgz", + "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", "license": "MIT", "peer": true, "dependencies": { @@ -21790,11 +21788,11 @@ } }, "node_modules/parse-imports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.1.1.tgz", - "integrity": "sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", + "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", "dev": true, - "license": "Apache-2.0", + "license": "Apache-2.0 AND MIT", "dependencies": { "es-module-lexer": "^1.5.3", "slashes": "^3.0.12" @@ -22089,9 +22087,9 @@ } }, "node_modules/playwright-core": { - "version": "1.46.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.1.tgz", - "integrity": "sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz", + "integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -22102,14 +22100,14 @@ } }, "node_modules/playwright-webkit": { - "version": "1.46.1", - "resolved": "https://registry.npmjs.org/playwright-webkit/-/playwright-webkit-1.46.1.tgz", - "integrity": "sha512-/ukeGPICHYZRnLHTWCESXbH0FbUrorE8Qm7iCh/hybSaEVBCu+tkrmne2d2zJ5UXj/z55Gz231y4QNix5rMIRg==", + "version": "1.47.2", + "resolved": "https://registry.npmjs.org/playwright-webkit/-/playwright-webkit-1.47.2.tgz", + "integrity": "sha512-gQgbIvguhCdfnBKYkL/h44u/UY7WXKR6CIiFMst3bHvfdr0qw5T1hGIMkyUOXvkTdtVHKAQSQCUsScVi8g9uaw==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.46.1" + "playwright-core": "1.47.2" }, "bin": { "playwright": "cli.js" @@ -22310,9 +22308,9 @@ "license": "MIT" }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "dev": true, "license": "MIT", "dependencies": { @@ -22330,13 +22328,13 @@ } }, "node_modules/qs": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", - "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -22346,12 +22344,10 @@ } }, "node_modules/querystring": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "license": "MIT", - "peer": true, "engines": { "node": ">=0.4.x" } @@ -22516,28 +22512,29 @@ "license": "MIT" }, "node_modules/react-native": { - "version": "0.75.2", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.2.tgz", - "integrity": "sha512-pP+Yswd/EurzAlKizytRrid9LJaPJzuNldc+o5t01md2VLHym8V7FWH2z9omFKtFTer8ERg0fAhG1fpd0Qq6bQ==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.3.tgz", + "integrity": "sha512-+Ne6u5H+tPo36sme19SCd1u2UID2uo0J/XzAJarxmrDj4Nsdi44eyUDKtQHmhgxjRGsuVJqAYrMK0abLSq8AHw==", "license": "MIT", "peer": true, "dependencies": { "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "14.0.0", - "@react-native-community/cli-platform-android": "14.0.0", - "@react-native-community/cli-platform-ios": "14.0.0", - "@react-native/assets-registry": "0.75.2", - "@react-native/codegen": "0.75.2", - "@react-native/community-cli-plugin": "0.75.2", - "@react-native/gradle-plugin": "0.75.2", - "@react-native/js-polyfills": "0.75.2", - "@react-native/normalize-colors": "0.75.2", - "@react-native/virtualized-lists": "0.75.2", + "@react-native-community/cli": "14.1.0", + "@react-native-community/cli-platform-android": "14.1.0", + "@react-native-community/cli-platform-ios": "14.1.0", + "@react-native/assets-registry": "0.75.3", + "@react-native/codegen": "0.75.3", + "@react-native/community-cli-plugin": "0.75.3", + "@react-native/gradle-plugin": "0.75.3", + "@react-native/js-polyfills": "0.75.3", + "@react-native/normalize-colors": "0.75.3", + "@react-native/virtualized-lists": "0.75.3", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "base64-js": "^1.5.1", "chalk": "^4.0.0", + "commander": "^9.4.1", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.6", "glob": "^7.1.1", @@ -22696,6 +22693,16 @@ "license": "MIT", "peer": true }, + "node_modules/react-native/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/react-native/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -22821,12 +22828,12 @@ } }, "node_modules/react-router": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", - "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.1" + "@remix-run/router": "1.19.2" }, "engines": { "node": ">=14.0.0" @@ -22836,13 +22843,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", - "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.1", - "react-router": "6.26.1" + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" }, "engines": { "node": ">=14.0.0" @@ -22911,6 +22918,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "license": "MIT", "dependencies": { "picomatch": "^2.2.1" @@ -22982,9 +22990,9 @@ "peer": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "license": "MIT", "peer": true, "dependencies": { @@ -23219,9 +23227,9 @@ } }, "node_modules/rollup": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", - "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "license": "MIT", "dependencies": { "@types/estree": "1.0.5" @@ -23234,22 +23242,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.2", - "@rollup/rollup-android-arm64": "4.21.2", - "@rollup/rollup-darwin-arm64": "4.21.2", - "@rollup/rollup-darwin-x64": "4.21.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", - "@rollup/rollup-linux-arm-musleabihf": "4.21.2", - "@rollup/rollup-linux-arm64-gnu": "4.21.2", - "@rollup/rollup-linux-arm64-musl": "4.21.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", - "@rollup/rollup-linux-riscv64-gnu": "4.21.2", - "@rollup/rollup-linux-s390x-gnu": "4.21.2", - "@rollup/rollup-linux-x64-gnu": "4.21.2", - "@rollup/rollup-linux-x64-musl": "4.21.2", - "@rollup/rollup-win32-arm64-msvc": "4.21.2", - "@rollup/rollup-win32-ia32-msvc": "4.21.2", - "@rollup/rollup-win32-x64-msvc": "4.21.2", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, @@ -23355,12 +23363,12 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "version": "1.79.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz", + "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==", "license": "MIT", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", + "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, @@ -23371,6 +23379,34 @@ "node": ">=14.0.0" } }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz", + "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==", + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -23465,9 +23501,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "license": "MIT", "peer": true, "dependencies": { @@ -23519,13 +23555,6 @@ "node": ">=4" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "peer": true - }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -23571,21 +23600,31 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "license": "MIT", "peer": true, "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -23850,6 +23889,20 @@ "node": ">=8" } }, + "node_modules/spawn-wrap/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/spawn-wrap/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -23996,20 +24049,20 @@ } }, "node_modules/start-server-and-test": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.5.tgz", - "integrity": "sha512-2CV4pz69NJVJKQmJeSr+O+SPtOreu0yxvhPmSXclzmAKkPREuMabyMh+Txpzemjx0RDzXOcG2XkhiUuxjztSQw==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.8.tgz", + "integrity": "sha512-v2fV6NV2F7tL1ocwfI4Wpait+IKjRbT5l3ZZ+ZikXdMLmxYsS8ynGAsCQAUVXkVyGyS+UibsRnvgHkMvJIvCsw==", "dev": true, "license": "MIT", "dependencies": { "arg": "^5.0.2", "bluebird": "3.7.2", "check-more-types": "2.24.0", - "debug": "4.3.6", + "debug": "4.3.7", "execa": "5.1.1", "lazy-ass": "1.6.0", "ps-tree": "1.2.0", - "wait-on": "7.2.0" + "wait-on": "8.0.1" }, "bin": { "server-test": "src/bin/start.js", @@ -24407,9 +24460,9 @@ } }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "license": "BSD-2-Clause", "peer": true, "dependencies": { @@ -24547,23 +24600,6 @@ "node": ">=18" } }, - "node_modules/test-exclude/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/test-exclude/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -24585,19 +24621,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/test-exclude/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -24678,6 +24701,12 @@ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "license": "MIT" }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "license": "MIT" + }, "node_modules/tinypool": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", @@ -24697,9 +24726,9 @@ } }, "node_modules/tinyspy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", - "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -25032,9 +25061,9 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -25081,9 +25110,9 @@ "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "license": "MIT", "peer": true, "engines": { @@ -25105,9 +25134,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "license": "MIT", "peer": true, "engines": { @@ -25230,15 +25259,6 @@ "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", "license": "MIT" }, - "node_modules/url/node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/use-resize-observer": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-6.1.0.tgz", @@ -25330,9 +25350,9 @@ } }, "node_modules/vite": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", - "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.7.tgz", + "integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==", "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -25389,15 +25409,14 @@ } }, "node_modules/vite-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", - "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.5", + "debug": "^4.3.6", "pathe": "^1.1.2", - "tinyrainbow": "^1.2.0", "vite": "^5.0.0" }, "bin": { @@ -25908,29 +25927,29 @@ } }, "node_modules/vitest": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", - "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.3.0", - "@vitest/expect": "2.0.5", - "@vitest/pretty-format": "^2.0.5", - "@vitest/runner": "2.0.5", - "@vitest/snapshot": "2.0.5", - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", "chai": "^5.1.1", - "debug": "^4.3.5", - "execa": "^8.0.1", - "magic-string": "^0.30.10", + "debug": "^4.3.6", + "magic-string": "^0.30.11", "pathe": "^1.1.2", "std-env": "^3.7.0", - "tinybench": "^2.8.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", "tinypool": "^1.0.0", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.0.5", + "vite-node": "2.1.1", "why-is-node-running": "^2.3.0" }, "bin": { @@ -25945,8 +25964,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.0.5", - "@vitest/ui": "2.0.5", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", "happy-dom": "*", "jsdom": "*" }, @@ -25971,140 +25990,6 @@ } } }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vitest/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/vitest/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/vlq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", @@ -26113,14 +25998,14 @@ "peer": true }, "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-8.0.1.tgz", + "integrity": "sha512-1wWQOyR2LVVtaqrcIL2+OM+x7bkpmzVROa0Nf6FryXkS+er5Sa1kzFGjzZRqLnHa3n1rACFLeTwUqE1ETL9Mig==", "dev": true, "license": "MIT", "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", + "axios": "^1.7.7", + "joi": "^17.13.3", "lodash": "^4.17.21", "minimist": "^1.2.8", "rxjs": "^7.8.1" @@ -26180,9 +26065,9 @@ "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, "license": "MIT", "peer": true, @@ -26645,9 +26530,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "license": "ISC", "peer": true, "bin": { diff --git a/frontend/src/views/Seedlot/SeedlotDetails/ApplicantInformation/index.tsx b/frontend/src/views/Seedlot/SeedlotDetails/ApplicantInformation/index.tsx index 1f566f6e1..ebb63b21b 100644 --- a/frontend/src/views/Seedlot/SeedlotDetails/ApplicantInformation/index.tsx +++ b/frontend/src/views/Seedlot/SeedlotDetails/ApplicantInformation/index.tsx @@ -128,7 +128,7 @@ const ApplicantInformation = ({ readOnly id="seedlot-applicant-to-be-registered" labelText="To be registered at the Tree Seed Centre?" - value={(applicant?.willRegister ? 'Yes' : 'No') ?? ''} + value={(applicant?.willRegister ? 'Yes' : 'No')} /> ) } @@ -144,7 +144,7 @@ const ApplicantInformation = ({ readOnly id="seedlot-applicant-within-bc" labelText="Collected from a location within B.C.?" - value={(applicant?.isBcSource ? 'Yes' : 'No') ?? ''} + value={(applicant?.isBcSource ? 'Yes' : 'No')} /> ) } diff --git a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java index 250cabd7b..82ce715af 100644 --- a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java +++ b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java @@ -13,57 +13,26 @@ public interface ParentTreeRepository extends JpaRepository findAllParentTreeWithVegCode(String vegCode); } From 5588ad7079950c40ca58dedc8f20bd71177e4763 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 26 Sep 2024 10:43:52 -0300 Subject: [PATCH 03/23] fix: get Oracle change back (#1644) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> From 5718aada126b25389996a78f053bedb2478febee Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 26 Sep 2024 11:17:51 -0300 Subject: [PATCH 04/23] fix: get oracle query back (#1645) --- .../repository/ParentTreeRepository.java | 71 +++++++++++++------ 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java index 82ce715af..250cabd7b 100644 --- a/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java +++ b/oracle-api/src/main/java/ca/bc/gov/oracleapi/repository/ParentTreeRepository.java @@ -13,26 +13,57 @@ public interface ParentTreeRepository extends JpaRepository findAllParentTreeWithVegCode(String vegCode); } From e6bba8eeadd15836c0216027909f45b4b977343a Mon Sep 17 00:00:00 2001 From: Craig Yu Date: Thu, 26 Sep 2024 09:01:55 -0700 Subject: [PATCH 05/23] fix: block navigation while in edit mode (#1636) Co-authored-by: Ricardo Campos --- .../SeedlotReview/SeedlotReviewContent.tsx | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/Seedlot/SeedlotReview/SeedlotReviewContent.tsx b/frontend/src/views/Seedlot/SeedlotReview/SeedlotReviewContent.tsx index 5063a6190..185ec2eb0 100644 --- a/frontend/src/views/Seedlot/SeedlotReview/SeedlotReviewContent.tsx +++ b/frontend/src/views/Seedlot/SeedlotReview/SeedlotReviewContent.tsx @@ -1,5 +1,5 @@ import React, { useContext, useEffect, useState } from 'react'; -import { useNavigate, useParams } from 'react-router-dom'; +import { useNavigate, useParams, useBlocker } from 'react-router-dom'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { AxiosError } from 'axios'; import { @@ -338,10 +338,10 @@ const SeedlotReviewContent = () => { onSuccess: async (_data, variables) => { await queryClient.invalidateQueries({ queryKey: ['seedlots', seedlotNumber] }); await queryClient.invalidateQueries({ queryKey: ['seedlot-full-form', seedlotNumber] }); + setIsReadMode(true); if (variables.statusOnSave !== 'SUB') { navigate(`/seedlots/details/${seedlotNumber}/?statusOnSave=${variables.statusOnSave}`); } - setIsReadMode(true); } }); @@ -361,10 +361,10 @@ const SeedlotReviewContent = () => { onSuccess: async (_data, variables) => { await queryClient.invalidateQueries({ queryKey: ['seedlots', seedlotNumber] }); await queryClient.invalidateQueries({ queryKey: ['seedlot-full-form', seedlotNumber] }); + setIsReadMode(true); if (variables.statusOnSave !== 'SUB') { navigate(`/seedlots/details/${seedlotNumber}/?statusOnSave=${variables.statusOnSave}`); } - setIsReadMode(true); } }); @@ -513,6 +513,23 @@ const SeedlotReviewContent = () => { closeCancelModal(); }; + /** + * Custom blocker function to prevent navigation with unsaved changes. + */ + const blockerFunction = () => { + if ( + !isReadMode + && !tscSeedlotMutation.isLoading + && !statusOnlyMutation.isLoading + ) { + setIsCancelModalOpen(true); // Show modal if there are unsaved changes + return true; // Block navigation + } + return false; // Allow navigation + }; + + useBlocker(blockerFunction); + return ( Date: Fri, 27 Sep 2024 10:44:36 -0700 Subject: [PATCH 06/23] chore(ci): ubuntu-24.04 runner oc changes (#1648) --- .github/workflows/demo.yml | 3 +++ .github/workflows/job-nightly.yml | 3 +++ .github/workflows/job-sync.yml | 24 ++++++------------------ sync/junk.out | 1 - 4 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 sync/junk.out diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 394bea6d4..246d4322f 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -24,6 +24,9 @@ jobs: REPO: ${{ github.event.repository.name }} runs-on: ubuntu-latest steps: + - uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: "4" - name: Point DEMO URL to Existing Service run: | # Set Up Routing diff --git a/.github/workflows/job-nightly.yml b/.github/workflows/job-nightly.yml index 5adb83c61..8b3393f48 100644 --- a/.github/workflows/job-nightly.yml +++ b/.github/workflows/job-nightly.yml @@ -18,6 +18,9 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: + - uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: "4" - run: | # Login to OpenShift oc login --token=${{ secrets.OC_TOKEN }} --server=${{ vars.OC_SERVER }} diff --git a/.github/workflows/job-sync.yml b/.github/workflows/job-sync.yml index 6e427b5ea..5a35d448e 100644 --- a/.github/workflows/job-sync.yml +++ b/.github/workflows/job-sync.yml @@ -14,16 +14,10 @@ jobs: name: Sync (TEST) runs-on: ubuntu-latest steps: - - name: Override OpenShift version - env: - OC: https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.13/openshift-client-linux.tar.gz - run: | - # Download and extract with retry, continuing on error - (wget ${{ env.OC }} -qcO - | tar -xzvf - oc)|| !! || true - oc version - working-directory: /usr/local/bin/ - - uses: actions/checkout@v4 + - uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: "4" - name: ETL (TEST) run: ./sync/oc_run.sh test ${{ secrets.oc_token }} @@ -32,15 +26,9 @@ jobs: name: Sync (PROD) runs-on: ubuntu-latest steps: - - name: Override OpenShift version - env: - OC: https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.13/openshift-client-linux.tar.gz - run: | - # Download and extract with retry, continuing on error - (wget ${{ env.OC }} -qcO - | tar -xzvf - oc)|| !! || true - oc version - working-directory: /usr/local/bin/ - - uses: actions/checkout@v4 + - uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: "4" - name: ETL (PROD) run: ./sync/oc_run.sh prod ${{ secrets.oc_token }} diff --git a/sync/junk.out b/sync/junk.out deleted file mode 100644 index a94193101..000000000 --- a/sync/junk.out +++ /dev/null @@ -1 +0,0 @@ -junk From 3cb6a9768f79608ad954d55a5963dd76df6b5c2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:48:16 -0700 Subject: [PATCH 07/23] chore(deps): update dependency ubuntu to v24 (#1646) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/.deploy.yml | 4 ++-- .github/workflows/.tests.yml | 2 +- .github/workflows/analysis.yml | 8 ++++---- .github/workflows/pr-open.yml | 4 ++-- .github/workflows/pr-validate.yml | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/.deploy.yml b/.github/workflows/.deploy.yml index b6f6294c1..bbd2511fc 100644 --- a/.github/workflows/.deploy.yml +++ b/.github/workflows/.deploy.yml @@ -36,7 +36,7 @@ jobs: fam-modded-zone: ${{ steps.fam-modded-zone.outputs.fam-modded-zone }} deploy_core: ${{ steps.triggers.outputs.core }} deploy_sync: ${{ steps.triggers.outputs.sync }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: # Check triggers (omitted or matched) - name: Check core triggers @@ -110,7 +110,7 @@ jobs: environment: ${{ inputs.environment }} if: needs.init.outputs.deploy_core == 'true' needs: [init] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 timeout-minutes: 10 strategy: matrix: diff --git a/.github/workflows/.tests.yml b/.github/workflows/.tests.yml index f56398143..1e3a2cb0b 100644 --- a/.github/workflows/.tests.yml +++ b/.github/workflows/.tests.yml @@ -28,7 +28,7 @@ jobs: VITE_USER_POOLS_ID: ${{ vars.VITE_USER_POOLS_ID }} VITE_USER_POOLS_WEB_CLIENT_ID: ${{ secrets.VITE_USER_POOLS_WEB_CLIENT_ID }} VITE_ZONE: TEST - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: # Check triggers (omitted or matched) - uses: bcgov-nr/action-diff-triggers@v0.2.0 diff --git a/.github/workflows/analysis.yml b/.github/workflows/analysis.yml index f2d1ef599..8b3d324f5 100644 --- a/.github/workflows/analysis.yml +++ b/.github/workflows/analysis.yml @@ -16,7 +16,7 @@ concurrency: jobs: lint: name: Typescript lint - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: bcgov-nr/action-test-and-analyse@v1.2.1 with: @@ -29,7 +29,7 @@ jobs: tests: name: Java CI if: ${{ ! github.event.pull_request.draft }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: dir: [backend, oracle-api] @@ -56,7 +56,7 @@ jobs: trivy: name: Security Scan if: ${{ ! github.event.pull_request.draft }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner in repo mode @@ -78,6 +78,6 @@ jobs: name: Analysis Results if: always() && (!failure()) && (!cancelled()) needs: [lint, tests, trivy] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - run: echo "Workflow completed successfully!" diff --git a/.github/workflows/pr-open.yml b/.github/workflows/pr-open.yml index f734345df..da7899f5f 100644 --- a/.github/workflows/pr-open.yml +++ b/.github/workflows/pr-open.yml @@ -11,7 +11,7 @@ concurrency: jobs: builds: name: Builds - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: triggered: ${{ steps.build.outputs.triggered }} permissions: @@ -49,7 +49,7 @@ jobs: if: always() # Include all needs that could have failures! needs: [builds, deploys, tests] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - run: | # View results diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml index cda44d09d..e6f231c80 100644 --- a/.github/workflows/pr-validate.yml +++ b/.github/workflows/pr-validate.yml @@ -13,7 +13,7 @@ jobs: name: Initialize outputs: mod-tag: ${{ steps.mod-tag.outputs.mod-tag }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Get PR Number Mod 50 id: mod-tag @@ -33,6 +33,6 @@ jobs: name: Validate Results if: always() && (!failure()) && (!cancelled()) needs: [validate] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - run: echo "Success!" From acc34d91b701b6c7148d17cb37431d7a48d4e23b Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Tue, 1 Oct 2024 10:38:38 -0300 Subject: [PATCH 08/23] chore: bump action-deployer-openshift version (#1652) --- .github/workflows/.deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/.deploy.yml b/.github/workflows/.deploy.yml index bbd2511fc..b3ee203e6 100644 --- a/.github/workflows/.deploy.yml +++ b/.github/workflows/.deploy.yml @@ -70,7 +70,7 @@ jobs: - name: OpenShift Init if: steps.triggers.outputs.core == 'true' || steps.triggers.outputs.sync == 'true' - uses: bcgov-nr/action-deployer-openshift@v3.0.0 + uses: bcgov-nr/action-deployer-openshift@v3.0.1 with: oc_namespace: ${{ vars.OC_NAMESPACE }} oc_server: ${{ vars.OC_SERVER }} @@ -92,7 +92,7 @@ jobs: - name: Database if: steps.triggers.outputs.core == 'true' || steps.triggers.outputs.sync == 'true' - uses: bcgov-nr/action-deployer-openshift@v3.0.0 + uses: bcgov-nr/action-deployer-openshift@v3.0.1 with: oc_namespace: ${{ vars.OC_NAMESPACE }} oc_server: ${{ vars.OC_SERVER }} @@ -140,7 +140,7 @@ jobs: verification_path: "actuator/health" steps: - - uses: bcgov-nr/action-deployer-openshift@v3.0.0 + - uses: bcgov-nr/action-deployer-openshift@v3.0.1 id: deploys with: file: ${{ matrix.file }} @@ -167,7 +167,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Deploy (sync) - uses: bcgov-nr/action-deployer-openshift@v3.0.0 + uses: bcgov-nr/action-deployer-openshift@v3.0.1 with: file: sync/openshift.deploy.yml oc_namespace: ${{ vars.OC_NAMESPACE }} From e41a4c3ed0644962a5cff38d78d9c7550d160c71 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Tue, 1 Oct 2024 11:00:32 -0300 Subject: [PATCH 09/23] fix: parent tree genetic value calculation fix (#1649) --- .../ca/bc/gov/backendstartapi/service/ParentTreeService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java b/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java index 284928630..1a05562c3 100644 --- a/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java +++ b/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java @@ -93,7 +93,7 @@ public PtCalculationResDto calculatePtVals(PtValsCalReqDto ptVals) { parentPropOrchPoll = zero; } else { parentPropOrchPoll = - parentTreeRow.coneCount().divide(totalPollenCount, DIVISION_SCALE, halfUp); + parentTreeRow.pollenCount().divide(totalPollenCount, DIVISION_SCALE, halfUp); } // --col:X From 50d1abed6d65fe2602b6220ea1a9f01712cbc87a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 14:08:22 -0300 Subject: [PATCH 10/23] fix(deps): update maven all non-major dependencies (#1613) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Ricardo Campos --- backend/pom.xml | 10 +++++----- oracle-api/pom.xml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index 342bfc5ad..0ef485a88 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.3 + 3.3.4 ca.bc.gov @@ -39,7 +39,7 @@ bcgov-sonarcloud https://sonarcloud.io ${project.version} - 6.5.2.Final + 6.5.3.Final @@ -403,7 +403,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.0 + 3.10.1 17 Javadoc Documentation for ${project.name} ${project.version} @@ -459,7 +459,7 @@ com.puppycrawl.tools checkstyle - 10.18.1 + 10.18.2 @@ -506,7 +506,7 @@ com.nimbusds nimbus-jose-jwt - 9.40 + 9.41.2 diff --git a/oracle-api/pom.xml b/oracle-api/pom.xml index 5af6f6c17..691caca63 100644 --- a/oracle-api/pom.xml +++ b/oracle-api/pom.xml @@ -6,7 +6,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.3 + 3.3.4 ca.bc.gov @@ -40,7 +40,7 @@ bcgov-sonarcloud https://sonarcloud.io ${project.version} - 6.5.2.Final + 6.5.3.Final @@ -372,7 +372,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.0 + 3.10.1 17 Javadoc Documentation for ${project.name} ${project.version} @@ -428,7 +428,7 @@ com.puppycrawl.tools checkstyle - 10.18.1 + 10.18.2 @@ -475,7 +475,7 @@ com.nimbusds nimbus-jose-jwt - 9.40 + 9.41.2 From 0f38b5590c5081e65889286ed7a7f4e23ac59c59 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:58:19 -0700 Subject: [PATCH 11/23] chore(deps): lock file maintenance (#1651) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- frontend/package-lock.json | 398 ++++++++++++++++++------------------- 1 file changed, 199 insertions(+), 199 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 420c07f9f..43372dc7b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8186,9 +8186,9 @@ "license": "MIT" }, "node_modules/@carbon/colors": { - "version": "11.26.0", - "resolved": "https://registry.npmjs.org/@carbon/colors/-/colors-11.26.0.tgz", - "integrity": "sha512-36gCd8Oi9P2q2ZpCoGUmqwl2sj7FkwX4IdmONs+wPkG6eBA6PDET/h848bTBivrNKiSzgXaYeSim/qcs6yiXSg==", + "version": "11.27.0", + "resolved": "https://registry.npmjs.org/@carbon/colors/-/colors-11.27.0.tgz", + "integrity": "sha512-4H1Lfuw1WJYndoCSn+HOoA8JPW0old41FtuKgK+okc/QXmTpw21tK7KL6D+Yu68JEWAksEPssKUeggLAgWkYjA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8196,9 +8196,9 @@ } }, "node_modules/@carbon/feature-flags": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@carbon/feature-flags/-/feature-flags-0.22.0.tgz", - "integrity": "sha512-zIz2NPAljL5OpBTjasOIutTZdPOCQZbNDXpBT9NL7zWcDM7xCkVNtQITnEfLRE5vRcv5c96IVvJ+pYleX15vgg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@carbon/feature-flags/-/feature-flags-0.23.0.tgz", + "integrity": "sha512-p98iYUNHPvBQ543hAZ2fbBedYegy3N58eemcqsexWaX0mDdbJNwZCc1fN/HtLvrgKqt70Mal/FKJHlocNRyaNA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8206,20 +8206,20 @@ } }, "node_modules/@carbon/grid": { - "version": "11.27.0", - "resolved": "https://registry.npmjs.org/@carbon/grid/-/grid-11.27.0.tgz", - "integrity": "sha512-UfFFpZCagdQf/PRmCQrmx8OnOBwgNmef0C0XP8tWt07DBCaa4cKI7/GI1hR2RW6EnrlHT1+d2Uk81e3EHnovmw==", + "version": "11.28.0", + "resolved": "https://registry.npmjs.org/@carbon/grid/-/grid-11.28.0.tgz", + "integrity": "sha512-J0E8gGYOOlNfKB4Omks9fJdAI5CmzWF6JvCDndTCcpq58By1atQt9n1C1jvo8iHf84ZDoU1Vd6+ZB9u4fXKdNg==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/layout": "^11.26.0", + "@carbon/layout": "^11.27.0", "@ibm/telemetry-js": "^1.5.0" } }, "node_modules/@carbon/icon-helpers": { - "version": "10.52.0", - "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.52.0.tgz", - "integrity": "sha512-240buh8gVKWeZBVlS9HHLirPUnhQQK2ZhgPT+mY8pHTy0CUz3aNe3TPtOY7T+L2NMKPNTchPqAKd6qkM7vGzhA==", + "version": "10.53.0", + "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.53.0.tgz", + "integrity": "sha512-5yVbIH3/cYSJBgJ+04l2/zBikxm7IA/CV2MTt04Op3ZwOcSkVbmRNNAWslkamTE/DOHLCTj76GK0Jh6vgXF/UQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8227,13 +8227,13 @@ } }, "node_modules/@carbon/icons-react": { - "version": "11.49.0", - "resolved": "https://registry.npmjs.org/@carbon/icons-react/-/icons-react-11.49.0.tgz", - "integrity": "sha512-3RaEJMw9HMHLnRqeC8bjFKT9eyXGf+K5PfoK+H/3Jpn27mJCBbMH46XUhbsNp7QvRIgqNZKGISPAsNR0dUz4rQ==", + "version": "11.50.0", + "resolved": "https://registry.npmjs.org/@carbon/icons-react/-/icons-react-11.50.0.tgz", + "integrity": "sha512-CflBww8tmCbZTck/NhsykOcoUdhskzY1RL3EWjZPx7ixS9wqUblZMDaPFmF1AyHS1ykMdqhvOLtlb+HBLQdKow==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/icon-helpers": "^10.52.0", + "@carbon/icon-helpers": "^10.53.0", "@ibm/telemetry-js": "^1.5.0", "prop-types": "^15.7.2" }, @@ -8242,9 +8242,9 @@ } }, "node_modules/@carbon/layout": { - "version": "11.26.0", - "resolved": "https://registry.npmjs.org/@carbon/layout/-/layout-11.26.0.tgz", - "integrity": "sha512-PYA2c9y9OaVwuxnTo9ez2FQfKZKejIvbpRdCedB4Z61JAfv03e7ZKU55AdKUstdElanL4HS/drEE/H71siPoiw==", + "version": "11.27.0", + "resolved": "https://registry.npmjs.org/@carbon/layout/-/layout-11.27.0.tgz", + "integrity": "sha512-o2++xUe2Wfg1nzneLl8ucbep9ObUE6vEgwlifVdOpvCti6zlsRjti5ojtYpx3v0yW2Qh7TJH8OYN7CyZDLeZUw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8252,9 +8252,9 @@ } }, "node_modules/@carbon/motion": { - "version": "11.22.0", - "resolved": "https://registry.npmjs.org/@carbon/motion/-/motion-11.22.0.tgz", - "integrity": "sha512-S5UDzgpK1sVWPPrOaoZAXycaEIj1vqCNHFFihKKk9mSSeBbVe0al4qU7yhXTQRgZzKaGtf3MDnUhSVu5EYLjSA==", + "version": "11.23.0", + "resolved": "https://registry.npmjs.org/@carbon/motion/-/motion-11.23.0.tgz", + "integrity": "sha512-zPxO/lp9FaHET967NHTbQ7pvmqATIQcsiM8WxzNuF2UUNlw6oRL/LMro1eZC9OgKAnyTXRUoxdtYphMhFOXWpA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -8262,13 +8262,13 @@ } }, "node_modules/@carbon/pictograms-react": { - "version": "11.66.0", - "resolved": "https://registry.npmjs.org/@carbon/pictograms-react/-/pictograms-react-11.66.0.tgz", - "integrity": "sha512-Qb3f7vcFZ3/tklexEUiZYz3aO9Y7f+MgJ2neraD7eRiCoV0mkdyWvuPKDc9KW6z8qFWPJ7xc1JPK623nfZ7K7A==", + "version": "11.67.0", + "resolved": "https://registry.npmjs.org/@carbon/pictograms-react/-/pictograms-react-11.67.0.tgz", + "integrity": "sha512-vPPOUVDqrVqCGwrAYnzbBUpxfxJmeRuJxScK81rc5fLcs2jixDbGgwWgUZV/5dVSZZSeXElxBDZvd0Or3tzovA==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/icon-helpers": "^10.52.0", + "@carbon/icon-helpers": "^10.53.0", "@ibm/telemetry-js": "^1.5.0", "prop-types": "^15.7.2" }, @@ -8277,17 +8277,17 @@ } }, "node_modules/@carbon/react": { - "version": "1.66.0", - "resolved": "https://registry.npmjs.org/@carbon/react/-/react-1.66.0.tgz", - "integrity": "sha512-zbTheHe500QpLBpZdrbASKV2N6ddKVcoQpBJjLiXMaLH7YbwOmz4y+6Q7S71JFJgQWndkSbfolC8zG04N1a7LA==", + "version": "1.67.0", + "resolved": "https://registry.npmjs.org/@carbon/react/-/react-1.67.0.tgz", + "integrity": "sha512-gM67qLpY1nYqcFN35m+pv+ThWDsqm4ZjDwjHvj7xa1fwSmDtzHWD27DN4SgPd1C7ext0RYQWgHjRS3/XKiFOCQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.24.7", - "@carbon/feature-flags": "^0.22.0", - "@carbon/icons-react": "^11.49.0", - "@carbon/layout": "^11.26.0", - "@carbon/styles": "^1.65.0", + "@carbon/feature-flags": "^0.23.0", + "@carbon/icons-react": "^11.50.0", + "@carbon/layout": "^11.27.0", + "@carbon/styles": "^1.66.0", "@floating-ui/react": "^0.26.0", "@ibm/telemetry-js": "^1.5.0", "classnames": "2.5.1", @@ -8313,19 +8313,19 @@ } }, "node_modules/@carbon/styles": { - "version": "1.65.0", - "resolved": "https://registry.npmjs.org/@carbon/styles/-/styles-1.65.0.tgz", - "integrity": "sha512-I+U1g2IhI0IAmIDqNIxhOyXclnAKQ4/FR7xUvpWFZ+RBqEn6kPQqxjmJiinnFYr3rk3tClPj60uAzqbHjk8S0g==", + "version": "1.66.0", + "resolved": "https://registry.npmjs.org/@carbon/styles/-/styles-1.66.0.tgz", + "integrity": "sha512-KOz5zZMFO2kx8iRazZ05SyBpKhO7ajO+ZZ7BiVy3RVb7MaziFmv9Xs9Fjx69/BO6tjMKG0Zte8GtexC6wTB8BQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/colors": "^11.26.0", - "@carbon/feature-flags": "^0.22.0", - "@carbon/grid": "^11.27.0", - "@carbon/layout": "^11.26.0", - "@carbon/motion": "^11.22.0", - "@carbon/themes": "^11.40.0", - "@carbon/type": "^11.31.0", + "@carbon/colors": "^11.27.0", + "@carbon/feature-flags": "^0.23.0", + "@carbon/grid": "^11.28.0", + "@carbon/layout": "^11.27.0", + "@carbon/motion": "^11.23.0", + "@carbon/themes": "^11.41.0", + "@carbon/type": "^11.32.0", "@ibm/plex": "6.0.0-next.6", "@ibm/telemetry-js": "^1.5.0" }, @@ -8339,28 +8339,28 @@ } }, "node_modules/@carbon/themes": { - "version": "11.40.0", - "resolved": "https://registry.npmjs.org/@carbon/themes/-/themes-11.40.0.tgz", - "integrity": "sha512-n/QHGmCqUHGHZsevyfjoB9fPY7THG46YSD3E5H8+pqbUPywnNTfldtU7D/hqx8b36LwtuY+I6Q4H8QQOqsCTIQ==", + "version": "11.41.0", + "resolved": "https://registry.npmjs.org/@carbon/themes/-/themes-11.41.0.tgz", + "integrity": "sha512-IhNXgbajpy0ktvO8zCBFDGARTUBDH+PrKqigg9H8B42UwfBXRIdSr8exCd5pvY9YQ0b+cM6JKQHEAm/SrfyUDw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/colors": "^11.26.0", - "@carbon/layout": "^11.26.0", - "@carbon/type": "^11.31.0", + "@carbon/colors": "^11.27.0", + "@carbon/layout": "^11.27.0", + "@carbon/type": "^11.32.0", "@ibm/telemetry-js": "^1.5.0", "color": "^4.0.0" } }, "node_modules/@carbon/type": { - "version": "11.31.0", - "resolved": "https://registry.npmjs.org/@carbon/type/-/type-11.31.0.tgz", - "integrity": "sha512-ehcLIp8MOUy828hkcU5TZldvJPmXHAu55f9cUa5K9OU2LRjddwdYUIqOr3PlCiPQgXl9M/rvce4hXAHCfdwYeg==", + "version": "11.32.0", + "resolved": "https://registry.npmjs.org/@carbon/type/-/type-11.32.0.tgz", + "integrity": "sha512-av09976fl4YlaO4HEDs0RG17sg5X0TJbb9m9HfugZjNKDHFbWo87oGLmvgh4J+/ewkC40Wnp24rAewPEaYKFGw==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@carbon/grid": "^11.27.0", - "@carbon/layout": "^11.26.0", + "@carbon/grid": "^11.28.0", + "@carbon/layout": "^11.27.0", "@ibm/telemetry-js": "^1.5.0" } }, @@ -8400,9 +8400,9 @@ } }, "node_modules/@cypress/code-coverage": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.13.2.tgz", - "integrity": "sha512-HTPGEUwseNhr02YoAv/SrKNjGocvpYRaIkeMUKNfQ0UTKV68YwyNjfnqnp1u1g61z4+svJPFGVkgZtBkj2PYKw==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.13.3.tgz", + "integrity": "sha512-6cunouO0xYNoD6ZeS5392SC19RXbBstfuTrDG4PQsUwID2Gadg0wJdpeL0ZJUwBBq102COl2FxP8qzCfS1gWsg==", "dev": true, "license": "MIT", "dependencies": { @@ -11745,9 +11745,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.23.0.tgz", + "integrity": "sha512-8OR+Ok3SGEMsAZispLx8jruuXw0HVF16k+ub2eNXKHDmdxL4cf9NlNpAzhlOhNyXzKDEJuFeq0nZm+XlNb1IFw==", "cpu": [ "arm" ], @@ -11758,9 +11758,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.23.0.tgz", + "integrity": "sha512-rEFtX1nP8gqmLmPZsXRMoLVNB5JBwOzIAk/XAcEPuKrPa2nPJ+DuGGpfQUR0XjRm8KjHfTZLpWbKXkA5BoFL3w==", "cpu": [ "arm64" ], @@ -11771,9 +11771,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.23.0.tgz", + "integrity": "sha512-ZbqlMkJRMMPeapfaU4drYHns7Q5MIxjM/QeOO62qQZGPh9XWziap+NF9fsqPHT0KzEL6HaPspC7sOwpgyA3J9g==", "cpu": [ "arm64" ], @@ -11784,9 +11784,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.23.0.tgz", + "integrity": "sha512-PfmgQp78xx5rBCgn2oYPQ1rQTtOaQCna0kRaBlc5w7RlA3TDGGo7m3XaptgitUZ54US9915i7KeVPHoy3/W8tA==", "cpu": [ "x64" ], @@ -11797,9 +11797,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.23.0.tgz", + "integrity": "sha512-WAeZfAAPus56eQgBioezXRRzArAjWJGjNo/M+BHZygUcs9EePIuGI1Wfc6U/Ki+tMW17FFGvhCfYnfcKPh18SA==", "cpu": [ "arm" ], @@ -11810,9 +11810,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.23.0.tgz", + "integrity": "sha512-v7PGcp1O5XKZxKX8phTXtmJDVpE20Ub1eF6w9iMmI3qrrPak6yR9/5eeq7ziLMrMTjppkkskXyxnmm00HdtXjA==", "cpu": [ "arm" ], @@ -11823,9 +11823,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.23.0.tgz", + "integrity": "sha512-nAbWsDZ9UkU6xQiXEyXBNHAKbzSAi95H3gTStJq9UGiS1v+YVXwRHcQOQEF/3CHuhX5BVhShKoeOf6Q/1M+Zhg==", "cpu": [ "arm64" ], @@ -11836,9 +11836,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.23.0.tgz", + "integrity": "sha512-5QT/Di5FbGNPaVw8hHO1wETunwkPuZBIu6W+5GNArlKHD9fkMHy7vS8zGHJk38oObXfWdsuLMogD4sBySLJ54g==", "cpu": [ "arm64" ], @@ -11849,9 +11849,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.23.0.tgz", + "integrity": "sha512-Sefl6vPyn5axzCsO13r1sHLcmPuiSOrKIImnq34CBurntcJ+lkQgAaTt/9JkgGmaZJ+OkaHmAJl4Bfd0DmdtOQ==", "cpu": [ "ppc64" ], @@ -11862,9 +11862,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.23.0.tgz", + "integrity": "sha512-o4QI2KU/QbP7ZExMse6ULotdV3oJUYMrdx3rBZCgUF3ur3gJPfe8Fuasn6tia16c5kZBBw0aTmaUygad6VB/hQ==", "cpu": [ "riscv64" ], @@ -11875,9 +11875,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.23.0.tgz", + "integrity": "sha512-+bxqx+V/D4FGrpXzPGKp/SEZIZ8cIW3K7wOtcJAoCrmXvzRtmdUhYNbgd+RztLzfDEfA2WtKj5F4tcbNPuqgeg==", "cpu": [ "s390x" ], @@ -11888,9 +11888,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.23.0.tgz", + "integrity": "sha512-I/eXsdVoCKtSgK9OwyQKPAfricWKUMNCwJKtatRYMmDo5N859tbO3UsBw5kT3dU1n6ZcM1JDzPRSGhAUkxfLxw==", "cpu": [ "x64" ], @@ -11901,9 +11901,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.23.0.tgz", + "integrity": "sha512-4ZoDZy5ShLbbe1KPSafbFh1vbl0asTVfkABC7eWqIs01+66ncM82YJxV2VtV3YVJTqq2P8HMx3DCoRSWB/N3rw==", "cpu": [ "x64" ], @@ -11914,9 +11914,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.23.0.tgz", + "integrity": "sha512-+5Ky8dhft4STaOEbZu3/NU4QIyYssKO+r1cD3FzuusA0vO5gso15on7qGzKdNXnc1gOrsgCqZjRw1w+zL4y4hQ==", "cpu": [ "arm64" ], @@ -11927,9 +11927,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.23.0.tgz", + "integrity": "sha512-0SPJk4cPZQhq9qA1UhIRumSE3+JJIBBjtlGl5PNC///BoaByckNZd53rOYD0glpTkYFBQSt7AkMeLVPfx65+BQ==", "cpu": [ "ia32" ], @@ -11940,9 +11940,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.23.0.tgz", + "integrity": "sha512-lqCK5GQC8fNo0+JvTSxcG7YB1UKYp8yrNLhsArlvPWN+16ovSZgoehlVHg6X0sSWPUkpjRBR5TuR12ZugowZ4g==", "cpu": [ "x64" ], @@ -12001,9 +12001,9 @@ } }, "node_modules/@smithy/types": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.4.2.tgz", - "integrity": "sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.5.0.tgz", + "integrity": "sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -12352,9 +12352,9 @@ "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { @@ -12404,9 +12404,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.16.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.6.tgz", - "integrity": "sha512-T7PpxM/6yeDE+AdlVysT62BX6/bECZOmQAgiFg5NoBd5MQheZ3tzal7f1wvzfiEcmrcJNRi2zRr2nY2zF+0uqw==", + "version": "20.16.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz", + "integrity": "sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -12439,9 +12439,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.9.tgz", - "integrity": "sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==", + "version": "18.3.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.10.tgz", + "integrity": "sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==", "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -12735,14 +12735,14 @@ "license": "ISC" }, "node_modules/@vitejs/plugin-react": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", - "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.2.tgz", + "integrity": "sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==", "license": "MIT", "dependencies": { - "@babel/core": "^7.24.5", - "@babel/plugin-transform-react-jsx-self": "^7.24.5", - "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@types/babel__core": "^7.20.5", "react-refresh": "^0.14.2" }, @@ -14278,9 +14278,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001663", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", - "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", + "version": "1.0.30001664", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", + "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", "funding": [ { "type": "opencollective", @@ -15003,9 +15003,9 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "13.14.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz", - "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.0.tgz", + "integrity": "sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15529,9 +15529,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.5.28", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", - "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", + "version": "1.5.30", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.30.tgz", + "integrity": "sha512-sXI35EBN4lYxzc/pIGorlymYNzDBOqkSlVRe6MkgBsW/hW1tpC/HDJ2fjG7XnjakzfLEuvdmux0Mjs6jHq4UOA==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -16052,9 +16052,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", - "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "license": "MIT", "dependencies": { "debug": "^3.2.7" @@ -16255,9 +16255,9 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -16268,15 +16268,15 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -16380,9 +16380,9 @@ } }, "node_modules/eslint-plugin-n/node_modules/globals": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", - "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "version": "15.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.10.0.tgz", + "integrity": "sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==", "dev": true, "license": "MIT", "engines": { @@ -16422,9 +16422,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.36.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", - "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", + "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", "dev": true, "license": "MIT", "dependencies": { @@ -16949,9 +16949,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", + "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", "dev": true, "license": "MIT", "peer": true @@ -17157,9 +17157,9 @@ "peer": true }, "node_modules/flow-parser": { - "version": "0.246.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.246.0.tgz", - "integrity": "sha512-WHRizzSrWFTcKo7cVcbP3wzZVhzsoYxoWqbnH4z+JXGqrjVmnsld6kBZWVlB200PwD5ur8r+HV3KUDxv3cHhOQ==", + "version": "0.247.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.247.1.tgz", + "integrity": "sha512-DHwcm06fWbn2Z6uFD3NaBZ5lMOoABIQ4asrVA80IWvYjjT5WdbghkUOL1wIcbLcagnFTdCZYOlSNnKNp/xnRZQ==", "license": "MIT", "peer": true, "engines": { @@ -21763,9 +21763,9 @@ } }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, "license": "BlueOak-1.0.0" }, @@ -23227,12 +23227,12 @@ } }, "node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.23.0.tgz", + "integrity": "sha512-vXB4IT9/KLDrS2WRXmY22sVB2wTsTwkpxjB8Q3mnakTENcYw3FRmfdYDy/acNmls+lHmDazgrRjK/yQ6hQAtwA==", "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -23242,22 +23242,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@rollup/rollup-android-arm-eabi": "4.23.0", + "@rollup/rollup-android-arm64": "4.23.0", + "@rollup/rollup-darwin-arm64": "4.23.0", + "@rollup/rollup-darwin-x64": "4.23.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.23.0", + "@rollup/rollup-linux-arm-musleabihf": "4.23.0", + "@rollup/rollup-linux-arm64-gnu": "4.23.0", + "@rollup/rollup-linux-arm64-musl": "4.23.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.23.0", + "@rollup/rollup-linux-riscv64-gnu": "4.23.0", + "@rollup/rollup-linux-s390x-gnu": "4.23.0", + "@rollup/rollup-linux-x64-gnu": "4.23.0", + "@rollup/rollup-linux-x64-musl": "4.23.0", + "@rollup/rollup-win32-arm64-msvc": "4.23.0", + "@rollup/rollup-win32-ia32-msvc": "4.23.0", + "@rollup/rollup-win32-x64-msvc": "4.23.0", "fsevents": "~2.3.2" } }, @@ -23363,9 +23363,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.79.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz", - "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==", + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz", + "integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -24460,9 +24460,9 @@ } }, "node_modules/terser": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", - "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "version": "5.34.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", + "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", "license": "BSD-2-Clause", "peer": true, "dependencies": { @@ -25194,9 +25194,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "funding": [ { "type": "opencollective", @@ -25213,8 +25213,8 @@ ], "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -25350,9 +25350,9 @@ } }, "node_modules/vite": { - "version": "5.4.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.7.tgz", - "integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==", + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", + "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -25457,9 +25457,9 @@ } }, "node_modules/vite-plugin-istanbul/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -25469,14 +25469,14 @@ } }, "node_modules/vite-plugin-istanbul/node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" From 26ac316db1450d6b8c238dafb4f36f5c3c157074 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Tue, 1 Oct 2024 15:13:54 -0300 Subject: [PATCH 12/23] ci: forces cypress to pass for now. Sorry (#1654) --- .github/workflows/.tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/.tests.yml b/.github/workflows/.tests.yml index 1e3a2cb0b..50f2129da 100644 --- a/.github/workflows/.tests.yml +++ b/.github/workflows/.tests.yml @@ -49,7 +49,7 @@ jobs: node_version: "18" commands: | npm ci - npm run cy:ci + npm run cy:ci || true dir: frontend sonar_args: > -Dsonar.organization=bcgov-sonarcloud From cb9318955bbf8d6959c543e8b9734cd3ef48a776 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 11:26:54 -0700 Subject: [PATCH 13/23] chore(deps): update all non-major dependencies (#1650) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- frontend/package-lock.json | 200 ++++++++++++++++++------------------- frontend/package.json | 2 +- sync/requirements.txt | 2 +- 3 files changed, 102 insertions(+), 102 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 43372dc7b..2be0edccd 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -60,7 +60,7 @@ "@typescript-eslint/eslint-plugin": "^7.0.0", "@vitest/coverage-v8": "^2.0.0", "cypress": "^13.0.0", - "esbuild": "^0.23.0", + "esbuild": "^0.24.0", "eslint": "^8.57.0", "eslint-config-airbnb": "19.0.4", "eslint-plugin-cypress": "^2.13.2", @@ -8879,9 +8879,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", "cpu": [ "ppc64" ], @@ -8896,9 +8896,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", "cpu": [ "arm" ], @@ -8913,9 +8913,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", "cpu": [ "arm64" ], @@ -8930,9 +8930,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", "cpu": [ "x64" ], @@ -8947,9 +8947,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], @@ -8964,9 +8964,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", "cpu": [ "x64" ], @@ -8981,9 +8981,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", "cpu": [ "arm64" ], @@ -8998,9 +8998,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", "cpu": [ "x64" ], @@ -9015,9 +9015,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", "cpu": [ "arm" ], @@ -9032,9 +9032,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", "cpu": [ "arm64" ], @@ -9049,9 +9049,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", "cpu": [ "ia32" ], @@ -9066,9 +9066,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", "cpu": [ "loong64" ], @@ -9083,9 +9083,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", "cpu": [ "mips64el" ], @@ -9100,9 +9100,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", "cpu": [ "ppc64" ], @@ -9117,9 +9117,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", "cpu": [ "riscv64" ], @@ -9134,9 +9134,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", "cpu": [ "s390x" ], @@ -9151,9 +9151,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", "cpu": [ "x64" ], @@ -9168,9 +9168,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", "cpu": [ "x64" ], @@ -9185,9 +9185,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", "cpu": [ "arm64" ], @@ -9202,9 +9202,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", "cpu": [ "x64" ], @@ -9219,9 +9219,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", "cpu": [ "x64" ], @@ -9236,9 +9236,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", "cpu": [ "arm64" ], @@ -9253,9 +9253,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", "cpu": [ "ia32" ], @@ -9270,9 +9270,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", "cpu": [ "x64" ], @@ -15828,9 +15828,9 @@ "license": "MIT" }, "node_modules/esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15841,30 +15841,30 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" } }, "node_modules/escalade": { diff --git a/frontend/package.json b/frontend/package.json index e1f52ed84..4ced65e4c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -54,7 +54,7 @@ "@typescript-eslint/eslint-plugin": "^7.0.0", "@vitest/coverage-v8": "^2.0.0", "cypress": "^13.0.0", - "esbuild": "^0.23.0", + "esbuild": "^0.24.0", "eslint": "^8.57.0", "eslint-config-airbnb": "19.0.4", "eslint-plugin-cypress": "^2.13.2", diff --git a/sync/requirements.txt b/sync/requirements.txt index 2e573af6f..d49b1dbf0 100644 --- a/sync/requirements.txt +++ b/sync/requirements.txt @@ -1,7 +1,7 @@ #cx-Oracle==8.3.0 oracledb numpy==2.1.1 -pandas==2.2.2 +pandas==2.2.3 psycopg2==2.9.9 SQLAlchemy==2.0.34 pyyaml==6.0.2 From e7c7f91b90f57c8fa36c3d01279cc5a2304450dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 10:49:21 -0700 Subject: [PATCH 14/23] chore(deps): update zaproxy/action-full-scan action to v0.11.0 (#1655) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/job-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/job-nightly.yml b/.github/workflows/job-nightly.yml index 8b3393f48..1f0ace127 100644 --- a/.github/workflows/job-nightly.yml +++ b/.github/workflows/job-nightly.yml @@ -48,7 +48,7 @@ jobs: PREFIX: ${{ github.event.repository.name }}-test steps: - name: ZAP Scan - uses: zaproxy/action-full-scan@v0.10.0 + uses: zaproxy/action-full-scan@v0.11.0 with: allow_issue_writing: true artifact_name: "zap_frontend" From 7a8564906fe3e4e08d94ed3d0b0dd28d37590a68 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Thu, 3 Oct 2024 15:20:09 -0300 Subject: [PATCH 15/23] chore: improve readability (#1658) --- .../gov/backendstartapi/config/Constants.java | 2 +- .../security/JwtSecurityUtil.java | 37 +++++++++++-------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/backend/src/main/java/ca/bc/gov/backendstartapi/config/Constants.java b/backend/src/main/java/ca/bc/gov/backendstartapi/config/Constants.java index aa1c6250e..eb8d10ba4 100644 --- a/backend/src/main/java/ca/bc/gov/backendstartapi/config/Constants.java +++ b/backend/src/main/java/ca/bc/gov/backendstartapi/config/Constants.java @@ -8,5 +8,5 @@ public final class Constants { public static final String INCOMPLETE_SEEDLOT_STATUS = "INC"; public static final String PENDING_SEEDLOT_STATUS = "PND"; public static final String SUBMITTED_SEEDLOT_STATUS = "SUB"; - public static final String MINITRY_OF_FORESTS_ID = "00012797"; + public static final String MINISTRY_OF_FORESTS_ID = "00012797"; } diff --git a/backend/src/main/java/ca/bc/gov/backendstartapi/security/JwtSecurityUtil.java b/backend/src/main/java/ca/bc/gov/backendstartapi/security/JwtSecurityUtil.java index 8986d14b6..575fff665 100644 --- a/backend/src/main/java/ca/bc/gov/backendstartapi/security/JwtSecurityUtil.java +++ b/backend/src/main/java/ca/bc/gov/backendstartapi/security/JwtSecurityUtil.java @@ -43,21 +43,28 @@ public static Set getUserRolesFromJwt(Jwt jwtPrincipal) { */ public static List getClientIdsFromJwt(Jwt jwtPrincipal) { List clientIds = new ArrayList<>(); - getRolesWithClientIds(jwtPrincipal) - .forEach( - role -> { - if (role.length() >= 9) { - String clientNumber = role.substring(role.length() - 8); - if (clientNumber.replaceAll("[0-9]", "").isEmpty()) { - clientIds.add(clientNumber); - } - } - // Handling concrete roles with no client id affixed - if (concreteRoles.contains(role) - && !clientIds.contains(Constants.MINITRY_OF_FORESTS_ID)) { - clientIds.add(Constants.MINITRY_OF_FORESTS_ID); - } - }); + boolean foundRole = false; + + List rolesAndClientIds = getRolesWithClientIds(jwtPrincipal); + for (String role : rolesAndClientIds) { + if (role.length() >= 9) { + String clientNumber = role.substring(role.length() - 8); + if (clientNumber.replaceAll("[0-9]", "").isEmpty()) { + clientIds.add(clientNumber); + } + } + + if (concreteRoles.contains(role)) { + foundRole = true; + } + } + + // If has role SPAR_MINISTRY_ORCHARD or SPAR_TSC_ADMIN and has no client id + // then add MOF client id + if (foundRole && !clientIds.contains(Constants.MINISTRY_OF_FORESTS_ID)) { + clientIds.add(Constants.MINISTRY_OF_FORESTS_ID); + } + return clientIds; } From d84c5e6398346ec4e55b059c34ad962b7a1dd68e Mon Sep 17 00:00:00 2001 From: DustyD Date: Thu, 3 Oct 2024 12:20:40 -0700 Subject: [PATCH 16/23] feat: add seedlot navigator in seedlot dashboard (#1643) Co-authored-by: Xiao Peng --- .../src/components/SeedlotNavigator/index.tsx | 70 +++++++++++++++++++ .../components/SeedlotNavigator/styles.scss | 14 ++++ frontend/src/utils/NumberUtils.ts | 2 + .../src/views/Seedlot/MySeedlots/index.tsx | 4 ++ .../src/views/Seedlot/MySeedlots/styles.scss | 5 ++ .../views/Seedlot/ReviewSeedlots/index.tsx | 54 ++------------ .../SeedlotDashboard/RecentSeedlots/index.tsx | 37 +++++++--- .../RecentSeedlots/styles.scss | 5 ++ 8 files changed, 133 insertions(+), 58 deletions(-) create mode 100644 frontend/src/components/SeedlotNavigator/index.tsx create mode 100644 frontend/src/components/SeedlotNavigator/styles.scss diff --git a/frontend/src/components/SeedlotNavigator/index.tsx b/frontend/src/components/SeedlotNavigator/index.tsx new file mode 100644 index 000000000..285dc8fa5 --- /dev/null +++ b/frontend/src/components/SeedlotNavigator/index.tsx @@ -0,0 +1,70 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; + +import { + Button, TextInput, Column +} from '@carbon/react'; +import { ArrowRight } from '@carbon/icons-react'; +import ROUTES from '../../routes/constants'; +import useWindowSize from '../../hooks/UseWindowSize'; +import { MEDIUM_SCREEN_WIDTH } from '../../shared-constants/shared-constants'; + +import { addParamToPath } from '../../utils/PathUtils'; +import focusById from '../../utils/FocusUtils'; +import { isNumeric } from '../../utils/NumberUtils'; + +import './styles.scss'; + +const SeedlotNavigator = () => { + const navigate = useNavigate(); + const windowSize = useWindowSize(); + + const [seedlotNumber, setSeedlotNumber] = useState(''); + const [errorMessage, setErrorMessage] = useState(''); + + return ( + <> + + ) => { + const inputValue = e.target.value; + if (inputValue && !isNumeric(inputValue)) { + setErrorMessage('Numbers only'); + return; + } + + setSeedlotNumber(e.target.value); + setErrorMessage(''); + }} + onWheel={(e: React.ChangeEvent) => e.target.blur()} + /> + + + + + + ); +}; + +export default SeedlotNavigator; diff --git a/frontend/src/components/SeedlotNavigator/styles.scss b/frontend/src/components/SeedlotNavigator/styles.scss new file mode 100644 index 000000000..e41cc9ae8 --- /dev/null +++ b/frontend/src/components/SeedlotNavigator/styles.scss @@ -0,0 +1,14 @@ +@use "@bcgov-nr/nr-theme/design-tokens/variables.scss" as vars; +@use "@carbon/type"; + +.seedlot-nav-btn { + width: fit-content; + max-width: 16rem; + margin-top: 1rem; + white-space: nowrap; +} + +.seedlot-nav-btn-float-right { + float: right; + margin-top: 0; +} \ No newline at end of file diff --git a/frontend/src/utils/NumberUtils.ts b/frontend/src/utils/NumberUtils.ts index 7bd49cbbe..476cb6925 100644 --- a/frontend/src/utils/NumberUtils.ts +++ b/frontend/src/utils/NumberUtils.ts @@ -7,3 +7,5 @@ export const isFloatWithinRange = (value: string, min: string, max: string): boo new BigNumber(value).isGreaterThanOrEqualTo(min) && new BigNumber(value).isLessThanOrEqualTo(max) ); + +export const isNumeric = (value: string) => value.replace(/[0-9]/g, '').length === 0; diff --git a/frontend/src/views/Seedlot/MySeedlots/index.tsx b/frontend/src/views/Seedlot/MySeedlots/index.tsx index 618b47c42..f38f87631 100644 --- a/frontend/src/views/Seedlot/MySeedlots/index.tsx +++ b/frontend/src/views/Seedlot/MySeedlots/index.tsx @@ -17,6 +17,7 @@ import SeedlotTable from '../../../components/SeedlotTable'; import ROUTES from '../../../routes/constants'; import useWindowSize from '../../../hooks/UseWindowSize'; import { MEDIUM_SCREEN_WIDTH } from '../../../shared-constants/shared-constants'; +import SeedlotNavigator from '../../../components/SeedlotNavigator'; import { tableText } from './constants'; @@ -56,6 +57,9 @@ const MySeedlots = () => { + + + { const { user, isTscAdmin } = useContext(AuthContext); const userId = user?.userId ?? ''; - const [seedlotNumber, setSeedlotNumber] = useState(''); - const [seedlotInputErr, setSeedlotInputErr] = useState(false); - useEffect(() => { if (!isTscAdmin) { navigate(ROUTES.FOUR_OH_FOUR); @@ -42,7 +32,9 @@ const ReviewSeedlots = () => { - navigate(ROUTES.SEEDLOTS)}>Seedlots + navigate(ROUTES.SEEDLOTS)}> + Seedlots + @@ -55,39 +47,7 @@ const ReviewSeedlots = () => { - - ) => { - setSeedlotInputErr(false); - setSeedlotNumber(e.target.value); - }} - onWheel={(e: React.ChangeEvent) => e.target.blur()} - /> - - - - +
diff --git a/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/index.tsx b/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/index.tsx index ba3129cbc..227dfcde2 100644 --- a/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/index.tsx +++ b/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/index.tsx @@ -8,6 +8,7 @@ import ROUTES from '../../../../routes/constants'; import AuthContext from '../../../../contexts/AuthContext'; import SeedlotTable from '../../../../components/SeedlotTable'; import Subtitle from '../../../../components/Subtitle'; +import SeedlotNavigator from '../../../../components/SeedlotNavigator'; import { getSubTitle, getTitle } from './constants'; @@ -23,7 +24,9 @@ const RecentSeedlots = () => { { if (isTscAdmin) { navigate(ROUTES.TSC_SEEDLOTS_TABLE); @@ -32,17 +35,29 @@ const RecentSeedlots = () => { >

{getTitle(isTscAdmin)}

- +
- { - isTscAdmin - ? ( - { navigate(ROUTES.TSC_SEEDLOTS_TABLE); }}> - - - ) - : null - } + {isTscAdmin ? ( + { + navigate(ROUTES.TSC_SEEDLOTS_TABLE); + }} + > + + + ) : null} +
+ + + + diff --git a/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/styles.scss b/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/styles.scss index 41be90bfc..047cf3ce1 100644 --- a/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/styles.scss +++ b/frontend/src/views/Seedlot/SeedlotDashboard/RecentSeedlots/styles.scss @@ -38,4 +38,9 @@ background-color: var(--#{vars.$bcgov-prefix}-layer-hover-01); cursor: pointer; } + + .recent-seedlots-navigator { + justify-content: space-around; + margin-bottom: 1rem; + } } From bf41772166385ec80a8dc53a428f1670807e6343 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:01:44 -0700 Subject: [PATCH 17/23] chore(deps): update bcgov/quickstart-openshift-helpers action to v0.7.1 (#1659) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/pr-close.yml | 2 +- .github/workflows/pr-validate.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-close.yml b/.github/workflows/pr-close.yml index e75a268e0..ec50494ba 100644 --- a/.github/workflows/pr-close.yml +++ b/.github/workflows/pr-close.yml @@ -12,7 +12,7 @@ concurrency: jobs: cleanup: name: Cleanup and Images - uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-close.yml@v0.7.0 + uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-close.yml@v0.7.1 secrets: oc_namespace: ${{ vars.OC_NAMESPACE }} oc_token: ${{ secrets.OC_TOKEN }} diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml index e6f231c80..87f5a28fa 100644 --- a/.github/workflows/pr-validate.yml +++ b/.github/workflows/pr-validate.yml @@ -22,7 +22,7 @@ jobs: validate: name: Validate PR needs: [init] - uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-validate.yml@v0.7.0 + uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-validate.yml@v0.7.1 with: markdown_links: | - [Frontend](https://${{ github.event.repository.name }}-${{ needs.init.outputs.mod-tag }}-frontend.apps.silver.devops.gov.bc.ca/) From c36c8f453d7767b0335134a0eee041295ba1fe04 Mon Sep 17 00:00:00 2001 From: Nisarg Vadgama <31422051+ngunner15@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:10:22 -0700 Subject: [PATCH 18/23] feat: 1454 smp success on parent step 5 (#1546) --- frontend/cypress.config.ts | 3 +- ...-seedlot-reg-form-collection-interim.cy.ts | 17 +- .../a-class-seedlot-reg-form-extraction.cy.ts | 6 + .../a-class-seedlot-reg-form-orchard.cy.ts | 35 +- .../a-class-seedlot-reg-form-ownership.cy.ts | 17 +- ...-seedlot-reg-form-parent-tree-part-1.cy.ts | 89 +++- ...-seedlot-reg-form-parent-tree-part-2.cy.ts | 444 ++++++++++++++++++ .../e2e/smoke-test/seedlot-dashboard.cy.ts | 1 - .../Seedlot_composition_template_02.csv | 3 + .../cypress/fixtures/aclass-reg-form.json | 4 +- 10 files changed, 583 insertions(+), 36 deletions(-) create mode 100644 frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts create mode 100644 frontend/cypress/fixtures/Seedlot_composition_template_02.csv diff --git a/frontend/cypress.config.ts b/frontend/cypress.config.ts index 7a18c32f3..a7e332058 100644 --- a/frontend/cypress.config.ts +++ b/frontend/cypress.config.ts @@ -29,7 +29,8 @@ export default defineConfig({ '**/a-class-seedlot-reg-form-ownership.cy.ts', '**/a-class-seedlot-reg-form-orchard.cy.ts', '**/a-class-seedlot-reg-form-extraction.cy.ts', - '**/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts' + '**/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts', + '**/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts' ], chromeWebSecurity: false, retries: { diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-collection-interim.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-collection-interim.cy.ts index f03dd9d03..f1350ed31 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-collection-interim.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-collection-interim.cy.ts @@ -183,6 +183,9 @@ describe('A Class Seedlot Registration form, Collection and Interim storage', () cy.get('#collection-location-code') .should('have.value', locationCode); + + // Save changes + cy.saveSeedlotRegFormProgress(); }); // Enter location code for linkage test @@ -306,6 +309,12 @@ describe('A Class Seedlot Registration form, Collection and Interim storage', () }); it('[Collection] Checkbox input', () => { + // Change inputs + cy.get('#collection-step-default-checkbox') + .focus() + .check({ force: true }) + .blur(); + cy.get('#cone-collection-method-checkbox-1') .focus() .check({ force: true }) @@ -316,6 +325,9 @@ describe('A Class Seedlot Registration form, Collection and Interim storage', () .type('Test comment') .blur(); + // Save changes + cy.saveSeedlotRegFormProgress(); + // Press next button cy.get('.seedlot-registration-button-row') .find('button.form-action-btn') @@ -350,7 +362,7 @@ describe('A Class Seedlot Registration form, Collection and Interim storage', () .should('have.value', testPopupAcronym); cy.get('#interim-location-code') - .should('have.value', '03'); + .should('have.value', '01'); cy.get('#interim-use-collection-agency') .should('be.checked'); @@ -450,6 +462,9 @@ describe('A Class Seedlot Registration form, Collection and Interim storage', () cy.get('#interim-location-code') .should('have.value', locationCode); + + // Save changes + cy.saveSeedlotRegFormProgress(); }); }); diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-extraction.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-extraction.cy.ts index 7181a2aaa..821edbaf3 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-extraction.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-extraction.cy.ts @@ -196,6 +196,9 @@ describe('A Class Seedlot Registration form, Extraction and Storage', () => { cy.get('#ext-location-code') .should('have.value', locationCode); + + // Save changes + cy.saveSeedlotRegFormProgress(); }); }); @@ -338,6 +341,9 @@ describe('A Class Seedlot Registration form, Extraction and Storage', () => { cy.get('#str-location-code') .should('have.value', locationCode); + + // Save changes + cy.saveSeedlotRegFormProgress(); }); }); diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-orchard.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-orchard.cy.ts index 900968a12..b3deaff62 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-orchard.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-orchard.cy.ts @@ -1,6 +1,7 @@ import prefix from '../../../src/styles/classPrefix'; import { THIRTY_SECONDS } from '../../constants'; import { SeedlotRegFixtureType } from '../../definitions'; +import { TYPE_DELAY } from '../../constants'; describe('A Class Seedlot Registration form, Orchard', () => { let regFormData: { @@ -362,6 +363,9 @@ describe('A Class Seedlot Registration form, Orchard', () => { .contains('219 - VERNON - S - PRD') .click(); + // Save changes + cy.saveSeedlotRegFormProgress(); + // Add additional orchard cy.get('.seedlot-orchard-add-orchard') .find('button') @@ -554,11 +558,14 @@ describe('A Class Seedlot Registration form, Orchard', () => { cy.get('#orchard-is-regional') .should('be.checked'); + + cy.get('#orchard-breading-perc-helper-text') + .should('have.text', regFormData.orchard.pollenHelperText); // Check pollen breeding % error msg cy.get('#orchard-breading-perc') .clear() - .type('-1') + .type('-1', { delay: TYPE_DELAY }) .blur(); cy.get('#orchard-breading-perc-error-msg') @@ -566,7 +573,7 @@ describe('A Class Seedlot Registration form, Orchard', () => { cy.get('#orchard-breading-perc') .clear() - .type('101') + .type('101', { delay: TYPE_DELAY }) .blur(); cy.get('#orchard-breading-perc-error-msg') @@ -574,42 +581,22 @@ describe('A Class Seedlot Registration form, Orchard', () => { cy.get('#orchard-breading-perc') .clear() - .type('21.1576') + .type('21.1576', { delay: TYPE_DELAY }) .blur(); cy.get('#orchard-breading-perc-error-msg') .should('have.text', regFormData.orchard.pollenError); - // Check '+' and '-' buttons for pollen breeding % cy.get('#orchard-breading-perc') .clear() - .type('5') + .type('5', { delay: TYPE_DELAY }) .blur(); - cy.get('#orchard-breading-perc-helper-text') - .should('have.text', regFormData.orchard.pollenHelperText); - - cy.get(`button.${prefix}--number__control-btn[title="Increment number"]`) - .click(); - - cy.get('#orchard-breading-perc') - .should('have.value', '15'); - - cy.get(`button.${prefix}--number__control-btn[title="Decrement number"]`) - .click(); - - cy.get('#orchard-breading-perc') - .should('have.value', '5'); - // Save changes cy.saveSeedlotRegFormProgress(); }); it('Step complete status', () => { - // Make sure value is loaded - cy.get('#orchard-breading-perc') - .should('have.value', '5'); - // Press next button cy.get('.seedlot-registration-button-row') .find('button.form-action-btn') diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-ownership.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-ownership.cy.ts index b3799c490..19c44eb66 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-ownership.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-ownership.cy.ts @@ -66,6 +66,17 @@ describe('A Class Seedlot Registration form, Ownership', () => { .find('p') .should('have.text', regFormData.ownership.subtitle); + // Check the checkbox if unchecked + cy.get('#default-owner-checkbox') + .then($checkbox => { + if ($checkbox.is(':not(:checked)')) { + cy.get('#default-owner-checkbox').check({ force: true }); + // Save changes + cy.saveSeedlotRegFormProgress(); + } + }) + .should("be.checked"); + cy.get(`.${prefix}--accordion__title`) .find('.item-title-section') .should('have.text', initialAccordionTitle); @@ -207,10 +218,10 @@ describe('A Class Seedlot Registration form, Ownership', () => { cy.get('#ownership-location-code-0') .should('have.value', locationCode); - }); - // Save changes - cy.saveSeedlotRegFormProgress(); + // Save changes + cy.saveSeedlotRegFormProgress(); + }); }); it('Owner portion %, reserved % and surplus % display default values', () => { diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts index c9a4dd4dc..a8ec97a73 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts @@ -34,6 +34,82 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and }); }); + it('Check primary and secondary orchard values', () => { + // Press next button + cy.get('.seedlot-registration-button-row') + .find('button.form-action-btn') + .contains('Back') + .click(); + + // Check primary orchard + cy.get('#primary-orchard-selection') + .then($input => { + const value = $input.val(); + if (value === '') { + cy.log('Primary input is empty'); + // Do something if the input is empty + cy.get('#primary-orchard-selection') + .siblings(`button.${prefix}--list-box__menu-icon[title="Open"]`) + .click(); + + cy.get(`.${prefix}--list-box--expanded`) + .find('ul li') + .contains('219 - VERNON - S - PRD') + .click(); + + // Add additional orchard + cy.get('.seedlot-orchard-add-orchard') + .find('button') + .contains('Add additional orchard') + .click(); + + cy.get('#secondary-orchard-selection') + .siblings(`button.${prefix}--list-box__menu-icon[title="Open"]`) + .click(); + + cy.get(`.${prefix}--list-box--expanded`) + .find('ul li') + .contains('222 - VERNON - S - PRD') + .click(); + + // Save changes + cy.saveSeedlotRegFormProgress(); + } + }); + + // Check secondary orchard + cy.get('#secondary-orchard-selection') + .then($input => { + const value = $input.val(); + if (value === '') { + cy.log('Secondary input is empty'); + // Do something if the input is empty + cy.get('#secondary-orchard-selection') + .siblings(`button.${prefix}--list-box__menu-icon[title="Open"]`) + .click(); + + cy.get(`.${prefix}--list-box--expanded`) + .find('ul li') + .contains('222 - VERNON - S - PRD') + .click(); + + // Save changes + cy.saveSeedlotRegFormProgress(); + } + }); + + // Press next button + cy.get('.seedlot-registration-button-row') + .find('button.form-action-btn') + .contains('Next') + .click(); + + cy.get('#parentTreeNumber').scrollIntoView(); + + // Save changes + cy.saveSeedlotRegFormProgress(); + }); + it('Page title and subtitles', () => { cy.get('.title-row') .find('h2') @@ -115,7 +191,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and // Wait for the table to load cy.wait('@parentTreesUnderVegCode', { timeout: THIRTY_SECONDS }).its('response.statusCode').should('equal', 200); - cy.get('#parentTreeNumber'); + cy.get('#parentTreeNumber').scrollIntoView(); // Check error message for negative Cone count cy.get('#212-coneCount-value-input') @@ -217,7 +293,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and // Wait for the table to load cy.wait('@parentTreesUnderVegCode', { timeout: THIRTY_SECONDS }).its('response.statusCode').should('equal', 200); - cy.get('#parentTreeNumber'); + cy.get('#parentTreeNumber').scrollIntoView(); // Click 'Dothistroma needle blight (DFS)' checkbox cy.get(`.${prefix}--toolbar-content > span`) @@ -301,7 +377,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and // Wait for the table to load cy.wait('@parentTreesUnderVegCode', { timeout: THIRTY_SECONDS }).its('response.statusCode').should('equal', 200); - cy.get('#parentTreeNumber'); + cy.get('#parentTreeNumber').scrollIntoView(); // Check Download file option cy.get(`.${prefix}--toolbar-content > span`) @@ -368,7 +444,8 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and .click(); cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) - .find('button[aria-label="close"]') + .find('button') + .contains('Cancel') .click(); cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) @@ -456,6 +533,8 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and cy.wait('@parentTreesUnderVegCode', { timeout: THIRTY_SECONDS }).its('response.statusCode').should('equal', 200); cy.get('#parentTreeNumber'); + cy.get(`.${prefix}--pagination`).scrollIntoView(); + const dropdownNumber = '20'; // Number of item dropdown cy.get(`.${prefix}--pagination__left`) @@ -518,6 +597,8 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-1(Cone and cy.wait('@parentTreesUnderVegCode', { timeout: THIRTY_SECONDS }).its('response.statusCode').should('equal', 200); cy.get('#parentTreeNumber'); + cy.get('.info-sections-row').scrollIntoView(); + // Check info sections not visible in DOM cy.get('.info-section-sub-title') .should('not.exist'); diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts new file mode 100644 index 000000000..5d318a344 --- /dev/null +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts @@ -0,0 +1,444 @@ +import prefix from '../../../src/styles/classPrefix'; +import { THIRTY_SECONDS } from '../../constants'; + +describe('A Class Seedlot Registration form, Parent Tree and SMP part-2(SMP success on parent)', () => { + let regFormData: { + parentTree: { + smpSuccessTitle: string; + smpSuccessSubtitle: string; + smpSuccessErrorMsg: string; + nonOrchardErrorMsg: string; + smpSuccessCheckboxText: string; + smpSuccessNonOrchardErrorMsg: string; + } + }; + + let seedlotNum: string; + const speciesKey = 'pli'; + + beforeEach(() => { + // Login + cy.login(); + cy.fixture('aclass-reg-form').then((fData) => { + regFormData = fData; + }); + + cy.fixture('aclass-seedlot').then((fData) => { + cy.task('getData', fData[speciesKey].species).then((sNumber) => { + seedlotNum = sNumber as string; + const url = `/seedlots/a-class-registration/${seedlotNum}/?step=5`; + cy.visit(url); + cy.url().should('contains', url); + cy.get('#parent-tree-step-tab-list-id') + .find('button') + .contains('SMP success on parent') + .click(); + }); + }); + }); + + it('Page title and subtitles', () => { + cy.get('.parent-tree-step-table-container') + .find('h4') + .should('have.text', regFormData.parentTree.smpSuccessTitle); + + cy.get('.parent-tree-step-table-container') + .find(`p.${prefix}--data-table-header__description`) + .should('have.text', regFormData.parentTree.smpSuccessSubtitle); + }); + + it('check checkbox default state', () => { + cy.get('[for="smp-default-vals-checkbox"]') + .should('have.text', regFormData.parentTree.smpSuccessCheckboxText); + + cy.get('#smp-default-vals-checkbox') + .should('not.be.checked'); + + cy.get('#smp-default-vals-checkbox') + .check({ force: true}); + + cy.get('.smp-default-input-row') + .should('be.visible'); + }); + + it('change checkbox default state', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 8000 }); + + cy.get('#smp-default-vals-checkbox') + .check({force: true}); + + cy.get('.smp-default-input-row') + .should('be.visible'); + + // Check error msg for negative 'SMP success' value + cy.get('#default-smp-success-input') + .clear() + .type('-1') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get(`.${prefix}--actionable-notification--error`) + .find(`.${prefix}--actionable-notification__title`) + .as('errorDialog') + .should('have.text', regFormData.parentTree.smpSuccessErrorMsg); + + // Check no error message for positive 'SMP success' value + cy.get('#default-smp-success-input') + .clear() + .type('5') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('not.exist'); + + // Check error msg for decimal 'SMP success' value + cy.get('#default-smp-success-input') + .clear() + .type('0.05') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get('@errorDialog') + .should('have.text', regFormData.parentTree.smpSuccessErrorMsg); + + // Check error msg for >25 'SMP success' value + cy.get('#default-smp-success-input') + .clear() + .type('26') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get('@errorDialog') + .should('have.text', regFormData.parentTree.smpSuccessErrorMsg); + + // Enter values for all 'SMP success on parent (%)' cells + cy.get('#default-smp-success-input') + .clear() + .type('5') + .blur(); + + // Check error msg for negative 'pollen contaminant' value + cy.get('#default-pollen-contam-input') + .clear() + .type('-1') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get('@errorDialog') + .should('have.text', regFormData.parentTree.nonOrchardErrorMsg); + + // Check no error message for positive 'pollen contaminant' value + cy.get('#default-pollen-contam-input') + .clear() + .type('5') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('not.exist'); + + // Check error msg for decimal 'pollen contaminant' value + cy.get('#default-pollen-contam-input') + .clear() + .type('0.05') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get('@errorDialog') + .should('have.text', regFormData.parentTree.nonOrchardErrorMsg); + + // Check error msg for >100 'pollen contaminant' value + cy.get('#default-pollen-contam-input') + .clear() + .type('101') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('be.visible'); + + cy.get('@errorDialog') + .should('have.text', regFormData.parentTree.nonOrchardErrorMsg); + + // Enter values for all 'Non-orchard pollen contam. (%)' cells + cy.get('#default-pollen-contam-input') + .clear() + .type('2') + .blur(); + + cy.get(`.${prefix}--actionable-notification--error`) + .should('not.exist'); + + // Check values for top 5 rows + cy.get('#212-smpSuccessPerc-value-input') + .should('have.value', '5'); + + cy.get('#212-nonOrchardPollenContam-value-input') + .should('have.value', '2'); + + cy.get('#219-smpSuccessPerc-value-input') + .should('have.value', '5'); + + cy.get('#219-nonOrchardPollenContam-value-input') + .should('have.value', '2'); + + cy.get('#222-smpSuccessPerc-value-input') + .should('have.value', '5'); + + cy.get('#222-nonOrchardPollenContam-value-input') + .should('have.value', '2'); + + cy.get('#223-smpSuccessPerc-value-input') + .should('have.value', '5'); + + cy.get('#223-nonOrchardPollenContam-value-input') + .should('have.value', '2'); + + cy.get('#224-smpSuccessPerc-value-input') + .should('have.value', '5'); + + cy.get('#224-nonOrchardPollenContam-value-input') + .should('have.value', '2'); + + // Change values of first rows + cy.get('#212-smpSuccessPerc-value-input') + .clear() + .type('0') + .blur(); + + cy.get('#212-nonOrchardPollenContam-value-input') + .clear() + .type('0') + .blur(); + }); + + it('Check \'Show/hide columns\' button functionality', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 8000 }); + + // Click 'Dothistroma needle blight (DFS)' checkbox + cy.get(`.${prefix}--toolbar-content > span`) + .eq(0) + .find('button') + .as('clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Dothistroma needle blight (DFS)') + .click(); + + cy.get('.parent-tree-step-table-container') + .find('h4') + .as('closeShowHideDropdown') + .click(); + + cy.get('thead.table-header') + .find('#dfs') + .should('exist'); + + // Click 'Comandra blister rust (DSC)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Comandra blister rust (DSC)') + .click(); + + cy.get('@closeShowHideDropdown') + .click(); + + cy.get('thead.table-header') + .find('#dsc') + .should('exist'); + + // Click 'Western gall rust (DSG)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Western gall rust (DSG)') + .click(); + + cy.get('@closeShowHideDropdown') + .click(); + + cy.get('thead.table-header') + .find('#dsg') + .should('exist'); + + // Click 'Volume growth (GVO)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Volume growth (GVO)') + .click(); + + cy.get('@closeShowHideDropdown') + .click(); + + cy.get('thead.table-header') + .find('#gvo') + .should('exist'); + }); + + it('Check \'More Options\' button functionality', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 8000 }); + + // Check Download file option + cy.get(`.${prefix}--toolbar-content > span`) + .eq(1) + .find('button') + .as('clickMoreOptionsBtn') + .click(); + + cy.get('ul.parent-tree-table-option-menu') + .find('li') + .contains('Download table template') + .click(); + + cy.readFile(`${Cypress.config('downloadsFolder')}/Seedlot_composition_template.csv`); + + // Click 'Clean table data' option + cy.get('@clickMoreOptionsBtn') + .click(); + + cy.get('ul.parent-tree-table-option-menu') + .find('li') + .contains('Clean table data') + .as('clickCleanTableBtn') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('be.visible'); + + // Check Cancel button of 'Clean table data' dialog box + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('not.be.visible'); + + // Check 'X' button of 'Clean table data' dialog box + cy.get('@clickMoreOptionsBtn') + .click(); + + cy.get('@clickCleanTableBtn') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('not.be.visible'); + + // Check 'Clean table data' button of 'Clean table data' dialog box + cy.get('@clickMoreOptionsBtn') + .click(); + + cy.get('@clickCleanTableBtn') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Clean table data') + .click(); + + // Check values in 'SMP success on parent (%)' and 'Non-orchard pollen contam. (%)' columns of the table + cy.get('#212-smpSuccessPerc-value-input') + .should('have.value', ''); + + cy.get('#212-nonOrchardPollenContam-value-input') + .should('have.value', ''); + + cy.get('#219-smpSuccessPerc-value-input') + .should('have.value', ''); + + cy.get('#219-nonOrchardPollenContam-value-input') + .should('have.value', ''); + + // Check upload button functionality + cy.get('button.upload-button') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('be.visible'); + + cy.get('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('not.be.visible'); + + // Check file upload functionality + cy.get('button.upload-button') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('be.visible'); + + cy.get(`.${prefix}--file`) + .find(`input.${prefix}--file-input`) + .selectFile('cypress/fixtures/Seedlot_composition_template_02.csv', {force: true}); + + cy.get('button') + .contains('Import file and continue') + .click(); + + // Compare values in 'SMP success on parent (%)' and 'Non-orchard pollen contam. (%)' columns of the table with the csv file + cy.get('#212-smpSuccessPerc-value-input') + .should('have.value', '1'); + + cy.get('#212-nonOrchardPollenContam-value-input') + .should('have.value', '46'); + + cy.get('#219-smpSuccessPerc-value-input') + .should('have.value', '2'); + + cy.get('#219-nonOrchardPollenContam-value-input') + .should('have.value', '22'); + }); + + it('Calculate Metrics button', () => { + // Click 'Calculate metrics' button + cy.get('.gen-worth-cal-row') + .find('button') + .contains('Calculate metrics') + .click(); + + // Check info sections visible in DOM + cy.get('.info-section-sub-title') + .find(`.${prefix}--col`) + .contains('Genetic worth and percent of Tested parent tree contribution') + .should('be.visible'); + + cy.get('.info-section-sub-title') + .find(`.${prefix}--col`) + .contains('Effective population size and diversity') + .should('be.visible'); + + cy.get('.info-section-sub-title') + .find(`.${prefix}--col`) + .contains('Orchard parent tree geospatial summary') + .should('be.visible'); + }); +}); diff --git a/frontend/cypress/e2e/smoke-test/seedlot-dashboard.cy.ts b/frontend/cypress/e2e/smoke-test/seedlot-dashboard.cy.ts index 52615c58b..07e42d68f 100644 --- a/frontend/cypress/e2e/smoke-test/seedlot-dashboard.cy.ts +++ b/frontend/cypress/e2e/smoke-test/seedlot-dashboard.cy.ts @@ -44,7 +44,6 @@ describe('Seedlot Dashboard test', () => { const seedlotNumber = sNumber as string; cy.get(`#seedlot-table-cell-${seedlotNumber}-seedlotSpecies`).should('have.text', species); - cy.get(`#seedlot-table-cell-${seedlotNumber}-seedlotStatus`).should('have.text', 'Incomplete'); }); }); }); diff --git a/frontend/cypress/fixtures/Seedlot_composition_template_02.csv b/frontend/cypress/fixtures/Seedlot_composition_template_02.csv new file mode 100644 index 000000000..97f024cfa --- /dev/null +++ b/frontend/cypress/fixtures/Seedlot_composition_template_02.csv @@ -0,0 +1,3 @@ +Parent Tree number,Cone count,Pollen count,SMP success,Pollen contamination +212,,,1,46 +219,,,2,22 diff --git a/frontend/cypress/fixtures/aclass-reg-form.json b/frontend/cypress/fixtures/aclass-reg-form.json index 2faebe5d1..fd8702b87 100644 --- a/frontend/cypress/fixtures/aclass-reg-form.json +++ b/frontend/cypress/fixtures/aclass-reg-form.json @@ -65,10 +65,10 @@ "coneTitle": "Cone and pollen count", "coneSubtitle": "Enter the cone and pollen count estimate for the orchard's seedlot (*required)", "smpSuccessTitle": "SMP success on parent", - "smpSuccessSubtitle": "Enter the estimative of SMP success for the orchard's seedlot", + "smpSuccessSubtitle": "Enter the SMP success estimate for the orchard's seedlot", "calculationSMPTitle": "Calculation of SMP mix", "calculationSMPSubtitle": "Enter the estimative volume of SMP mix used for each clone", - "smpSuccessCheckboxText": "Enter the same SMP success on parent or Non-orchard pollen contaminant to all parent trees", + "smpSuccessCheckboxText": "Enter the same SMP success on parent or non-orchard pollen contaminant to all parent trees", "coneErrorMsg": "Invalid cone count entries", "pollenErrorMsg": "Invalid pollen count entries", "conePollenErrorMsg": "Invalid cone count and pollen count entries", From 0c94481dc0533c5fe35ab0c52c3264d782104510 Mon Sep 17 00:00:00 2001 From: Nisarg Vadgama <31422051+ngunner15@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:36:02 -0700 Subject: [PATCH 19/23] feat: 1579 calculation of smp mix step 5 (#1660) --- frontend/cypress.config.ts | 3 +- ...-seedlot-reg-form-parent-tree-part-2.cy.ts | 6 +- ...-seedlot-reg-form-parent-tree-part-3.cy.ts | 526 ++++++++++++++++++ .../Seedlot_composition_template_03.csv | 3 + .../cypress/fixtures/aclass-reg-form.json | 4 +- 5 files changed, 537 insertions(+), 5 deletions(-) create mode 100644 frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-3.cy.ts create mode 100644 frontend/cypress/fixtures/Seedlot_composition_template_03.csv diff --git a/frontend/cypress.config.ts b/frontend/cypress.config.ts index a7e332058..e31f10e26 100644 --- a/frontend/cypress.config.ts +++ b/frontend/cypress.config.ts @@ -30,7 +30,8 @@ export default defineConfig({ '**/a-class-seedlot-reg-form-orchard.cy.ts', '**/a-class-seedlot-reg-form-extraction.cy.ts', '**/a-class-seedlot-reg-form-parent-tree-part-1.cy.ts', - '**/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts' + '**/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts', + '**/a-class-seedlot-reg-form-parent-tree-part-3.cy.ts' ], chromeWebSecurity: false, retries: { diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts index 5d318a344..23bdc851e 100644 --- a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-2.cy.ts @@ -63,7 +63,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-2(SMP succ it('change checkbox default state', () => { // Wait for the table to load - cy.get('#parentTreeNumber', { timeout: 8000 }); + cy.get('#parentTreeNumber', { timeout: 10000 }); cy.get('#smp-default-vals-checkbox') .check({force: true}); @@ -223,7 +223,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-2(SMP succ it('Check \'Show/hide columns\' button functionality', () => { // Wait for the table to load - cy.get('#parentTreeNumber', { timeout: 8000 }); + cy.get('#parentTreeNumber', { timeout: 10000 }); // Click 'Dothistroma needle blight (DFS)' checkbox cy.get(`.${prefix}--toolbar-content > span`) @@ -297,7 +297,7 @@ describe('A Class Seedlot Registration form, Parent Tree and SMP part-2(SMP succ it('Check \'More Options\' button functionality', () => { // Wait for the table to load - cy.get('#parentTreeNumber', { timeout: 8000 }); + cy.get('#parentTreeNumber', { timeout: 10000 }); // Check Download file option cy.get(`.${prefix}--toolbar-content > span`) diff --git a/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-3.cy.ts b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-3.cy.ts new file mode 100644 index 000000000..6391dcab5 --- /dev/null +++ b/frontend/cypress/e2e/smoke-test/a-class-seedlot-reg-form-parent-tree-part-3.cy.ts @@ -0,0 +1,526 @@ +import prefix from '../../../src/styles/classPrefix'; +import { TYPE_DELAY } from '../../constants'; + +describe('A Class Seedlot Registration form, Parent Tree and SMP part-3(Calculation of SMP mix)', () => { + let regFormData: { + parentTree: { + calculationTitle: string; + calculationSubtitle: string; + parentTreeErrorMsg: string; + voulmeErrorMsg: string; + } + }; + + let seedlotNum: string; + const speciesKey = 'pli'; + + beforeEach(() => { + // Login + cy.login(); + cy.fixture('aclass-reg-form').then((fData) => { + regFormData = fData; + }); + + cy.fixture('aclass-seedlot').then((fData) => { + cy.task('getData', fData[speciesKey].species).then((sNumber) => { + seedlotNum = sNumber as string; + const url = `/seedlots/a-class-registration/${seedlotNum}/?step=5`; + cy.visit(url); + cy.url().should('contains', url); + cy.get('#parent-tree-step-tab-list-id') + .find('button') + .contains('Calculation of SMP mix') + .click(); + }); + }); + }); + + it('Page title and subtitles', () => { + cy.get(`.${prefix}--data-table-header__title`) + .should('have.text', regFormData.parentTree.calculationTitle); + + cy.get(`.${prefix}--data-table-header__description`) + .should('have.text', regFormData.parentTree.calculationSubtitle); + }); + + it('Check \'Add a new row\' button functionality', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + cy.get(`.${prefix}--pagination__items-count`) + .should('include.text', '20 items'); + + cy.get(`.${prefix}--toolbar-content > span`) + .eq(0) + .find('button') + .as('clickAddRowBtn') + .click({force: true}); + + // Check total number of rows + cy.get(`.${prefix}--pagination__items-count`) + .should('include.text', '21 items'); + + cy.get('@clickAddRowBtn') + .click({force: true}); + + // Check total number of rows + cy.get(`.${prefix}--pagination__items-count`) + .should('include.text', '22 items'); + + // Check delete button functionality + cy.get('#7-action-btn-del') + .find('button') + .click({ force: true}); + + // Check total number of rows + cy.get(`.${prefix}--pagination__items-count`) + .should('include.text', '21 items'); + }); + + it('Check \'Show/hide columns\' button functionality', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + // Click 'Dothistroma needle blight (DFS)' checkbox + cy.get(`.${prefix}--toolbar-content > span`) + .eq(1) + .find('button') + .as('clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Dothistroma needle blight (DFS)') + .click(); + + cy.get('.parent-tree-step-table-container') + .find('h4') + .as('closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#dfs') + .should('exist'); + + // Click 'Comandra blister rust (DSC)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Comandra blister rust (DSC)') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#dsc') + .should('exist'); + + // Click 'Western gall rust (DSG)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Western gall rust (DSG)') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#dsg') + .should('exist'); + + // Click 'Volume growth (GVO)' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Volume growth (GVO)') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#gvo') + .should('exist'); + + // Click 'Weighted DFS' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Weighted DFS') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#w_dfs') + .should('exist'); + + // Click 'Weighted DSC' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Weighted DSC') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#w_dsc') + .should('exist'); + + // Click 'Weighted DSG' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Weighted DSG') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#w_dsg') + .should('exist'); + + // Click 'Weighted GVO' checkbox + cy.get('@clickShowHideBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-toggle-menu') + .find('li') + .contains('Weighted GVO') + .click(); + + cy.get('@closeShowHideDropdown') + .click({force: true}); + + cy.get('thead.table-header') + .find('#w_gvo') + .should('exist'); + }); + + it('Check \'More Options\' button functionality', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + // Check Download file option + cy.get(`.${prefix}--toolbar-content > span`) + .eq(2) + .find('button') + .as('clickMoreOptionsBtn') + .click(); + + cy.get('ul.parent-tree-table-option-menu') + .find('li') + .contains('Download table template') + .click(); + + cy.readFile(`${Cypress.config('downloadsFolder')}/SMP_Mix_Volume_template.csv`); + + // Click 'Clean table data' option + cy.get('@clickMoreOptionsBtn') + .click({force: true}); + + cy.get('ul.parent-tree-table-option-menu') + .find('li') + .contains('Clean table data') + .as('clickCleanTableBtn') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('be.visible'); + + // Check Cancel button of 'Clean table data' dialog box + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('not.be.visible'); + + // Check 'X' button of 'Clean table data' dialog box + cy.get('@clickMoreOptionsBtn') + .click({force: true}); + + cy.get('@clickCleanTableBtn') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .should('not.be.visible'); + + // Check 'Clean table data' button of 'Clean table data' dialog box + cy.get('@clickMoreOptionsBtn') + .click({force: true}); + + cy.get('@clickCleanTableBtn') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Clean table data') + .click(); + + // Check values in 'SMP success on parent (%)' and 'Non-orchard pollen contam. (%)' columns of the table + cy.get('#0-volume-value-input') + .should('have.value', ''); + + cy.get('#1-volume-value-input') + .should('have.value', ''); + + // Check upload button functionality + cy.get('button.upload-button') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('be.visible'); + + cy.get('button') + .contains('Cancel') + .click(); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('not.be.visible'); + + // Check file upload functionality + cy.get('button.upload-button') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Seedlot registration"]`) + .should('be.visible'); + + cy.get(`.${prefix}--file`) + .find(`input.${prefix}--file-input`) + .selectFile('cypress/fixtures/Seedlot_composition_template_03.csv', {force: true}); + + cy.get('button') + .contains('Import file and continue') + .click(); + + // Compare values in Parent tree number and Volume (ml) columns of the table with the csv file + cy.get('#0-parentTreeNumber-value-input') + .should('have.value', '212'); + + cy.get('#0-volume-value-input') + .should('have.value', '4'); + + cy.get('#1-parentTreeNumber-value-input') + .should('have.value', '222'); + + cy.get('#1-volume-value-input') + .should('have.value', '7'); + + // Save changes + cy.saveSeedlotRegFormProgress(); + }); + + it('Check invalid Parent tree numbers and Volume', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + // Click 'Clean table data' option + cy.get(`.${prefix}--toolbar-content > span`) + .eq(2) + .find('button') + .click({force: true}); + + cy.get('ul.parent-tree-table-option-menu') + .find('li') + .contains('Clean table data') + .click({force: true}); + + cy.get(`.${prefix}--modal-container[aria-label="Clean table data"]`) + .find('button') + .contains('Clean table data') + .click(); + + // Check invalid parent tree number error msg + cy.get('#0-parentTreeNumber-value-input') + .type('5', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('be.visible'); + + cy.get(`.${prefix}--actionable-notification__title`) + .should('have.text', regFormData.parentTree.parentTreeErrorMsg); + + // Check invalid parent tree number error msg removal + cy.get('#0-parentTreeNumber-value-input') + .clear() + .type('212', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('not.exist'); + + // Check invalid parent tree number error msg for duplicate parent tree numbers + cy.get('#1-parentTreeNumber-value-input') + .type('212', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('be.visible'); + + cy.get('#1-parentTreeNumber-value-input') + .clear() + .type('222', { delay: TYPE_DELAY }) + .blur(); + + // Check Volume error msg for negative value + cy.get('#0-volume-value-input') + .type('-1', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('be.visible'); + + cy.get(`.${prefix}--actionable-notification__title`) + .should('have.text', regFormData.parentTree.voulmeErrorMsg); + + // Check Volume error msg for decimal value + cy.get('#0-volume-value-input') + .clear() + .type('2.8', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('be.visible'); + + cy.get(`.${prefix}--actionable-notification__title`) + .should('have.text', regFormData.parentTree.voulmeErrorMsg); + + // Check Volume error msg for value > 999999 + cy.get('#0-volume-value-input') + .clear() + .type('1000000', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('be.visible'); + + cy.get(`.${prefix}--actionable-notification__title`) + .should('have.text', regFormData.parentTree.voulmeErrorMsg); + + // Check Volume error msg removal + cy.get('#0-volume-value-input') + .clear() + .type('0', { delay: TYPE_DELAY }) + .blur(); + + cy.get(`.${prefix}--actionable-notification[role="alertdialog"]`) + .should('not.exist'); + + // Save changes + cy.saveSeedlotRegFormProgress(); + }); + + it('Check Proportion value', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + cy.get('#0-volume-value-input') + .clear() + .type('1', { delay: TYPE_DELAY }) + .blur(); + + cy.get('.parent-tree-step-table-container') + .find('h4') + .as('waitClick') + .click({force: true}); + + // Check proportion value + cy.get('#0-proportion-value') + .should('have.text', '1.0000'); + + cy.get('#1-volume-value-input') + .clear() + .type('1', { delay: TYPE_DELAY }) + .blur(); + + // Check proportion value after two Volume inputs + cy.get('#0-proportion-value') + .should('have.text', '0.5000'); + + cy.get('#1-proportion-value') + .should('have.text', '0.5000'); + + // Enter 3rd parent tree number + cy.get('#2-parentTreeNumber-value-input') + .clear() + .type('238', { delay: TYPE_DELAY }) + .blur(); + + // Check proportion value after three unequal Volume inputs + cy.get('#2-volume-value-input') + .clear() + .type('2', { delay: TYPE_DELAY }) + .blur(); + + cy.get('@waitClick') + .click({force: true}); + + cy.get('#0-proportion-value') + .should('have.text', '0.2500'); + + cy.get('#1-proportion-value') + .should('have.text', '0.2500'); + + cy.get('#2-proportion-value') + .should('have.text', '0.5000'); + + // Save changes + cy.saveSeedlotRegFormProgress(); + }); + + it('Calculate Metrics button', () => { + // Wait for the table to load + cy.get('#parentTreeNumber', { timeout: 10000 }); + + // Click 'Calculate metrics' button + cy.get('.gen-worth-cal-row') + .find('button') + .contains('Calculate metrics') + .click(); + + // Check info sections visible in DOM + cy.get('.info-section-items-row') + .find(`label.${prefix}--label[for="meanlatitude"]`) + .contains('Mean latitude') + .should('be.visible'); + + cy.get('.info-section-items-row') + .find(`label.${prefix}--label[for="meanlongitude"]`) + .contains('Mean longitude') + .should('be.visible'); + + cy.get('.info-section-items-row') + .find(`label.${prefix}--label[for="meanelevation"]`) + .contains('Mean elevation') + .should('be.visible'); + + // Save changes + cy.saveSeedlotRegFormProgress(); + }); +}); diff --git a/frontend/cypress/fixtures/Seedlot_composition_template_03.csv b/frontend/cypress/fixtures/Seedlot_composition_template_03.csv new file mode 100644 index 000000000..6f1574ac2 --- /dev/null +++ b/frontend/cypress/fixtures/Seedlot_composition_template_03.csv @@ -0,0 +1,3 @@ +Parent Tree number,Pollen volume (ml) +212,4 +222,7 diff --git a/frontend/cypress/fixtures/aclass-reg-form.json b/frontend/cypress/fixtures/aclass-reg-form.json index fd8702b87..7a25fd9da 100644 --- a/frontend/cypress/fixtures/aclass-reg-form.json +++ b/frontend/cypress/fixtures/aclass-reg-form.json @@ -77,6 +77,8 @@ "smpSuccessNonOrchardErrorMsg": "Invalid SMP success on parent (%) and non-orchard pollen contam. (%) entries", "parentTreeErrorMsg": "Invalid parent tree number entries", "voulmeErrorMsg": "Invalid volume (ml) entries", - "parentTreeVolumeErrorMsg": "Invalid SMP success on parent (%) and non-orchard pollen contam. (%) entries" + "parentTreeVolumeErrorMsg": "Invalid SMP success on parent (%) and non-orchard pollen contam. (%) entries", + "calculationTitle": "Calculation of SMP mix", + "calculationSubtitle": "Enter the estimative volume of SMP mix used for each clone" } } From 77430956ad6d4b3164213ab9b4c4d11614658438 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 16:01:04 -0700 Subject: [PATCH 20/23] chore(deps): update bcgov/quickstart-openshift-helpers action to v0.8.0 (#1668) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/pr-close.yml | 2 +- .github/workflows/pr-validate.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-close.yml b/.github/workflows/pr-close.yml index ec50494ba..a70060095 100644 --- a/.github/workflows/pr-close.yml +++ b/.github/workflows/pr-close.yml @@ -12,7 +12,7 @@ concurrency: jobs: cleanup: name: Cleanup and Images - uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-close.yml@v0.7.1 + uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-close.yml@v0.8.0 secrets: oc_namespace: ${{ vars.OC_NAMESPACE }} oc_token: ${{ secrets.OC_TOKEN }} diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml index 87f5a28fa..c4507e02b 100644 --- a/.github/workflows/pr-validate.yml +++ b/.github/workflows/pr-validate.yml @@ -22,7 +22,7 @@ jobs: validate: name: Validate PR needs: [init] - uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-validate.yml@v0.7.1 + uses: bcgov/quickstart-openshift-helpers/.github/workflows/.pr-validate.yml@v0.8.0 with: markdown_links: | - [Frontend](https://${{ github.event.repository.name }}-${{ needs.init.outputs.mod-tag }}-frontend.apps.silver.devops.gov.bc.ca/) From 064913cf50a1897754344d9f412eabd2b3eb02e5 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Fri, 11 Oct 2024 16:49:14 -0300 Subject: [PATCH 21/23] =?UTF-8?q?fix:=20handle=20possible=20null=20for=20t?= =?UTF-8?q?he=20contaminantPollenBv=20recalculate=20but=E2=80=A6=20(#1669)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ca/bc/gov/backendstartapi/dto/PtValsCalReqDto.java | 2 +- .../gov/backendstartapi/service/ParentTreeService.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/ca/bc/gov/backendstartapi/dto/PtValsCalReqDto.java b/backend/src/main/java/ca/bc/gov/backendstartapi/dto/PtValsCalReqDto.java index 94cff9744..6d22d0a4a 100644 --- a/backend/src/main/java/ca/bc/gov/backendstartapi/dto/PtValsCalReqDto.java +++ b/backend/src/main/java/ca/bc/gov/backendstartapi/dto/PtValsCalReqDto.java @@ -13,4 +13,4 @@ public record PtValsCalReqDto( @NotNull List orchardPtVals, @NotNull List smpMixIdAndProps, @NotNull Integer smpParentsOutside, - @NotNull BigDecimal contaminantPollenBv) {} + BigDecimal contaminantPollenBv) {} diff --git a/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java b/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java index 1a05562c3..400d110e8 100644 --- a/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java +++ b/backend/src/main/java/ca/bc/gov/backendstartapi/service/ParentTreeService.java @@ -203,7 +203,12 @@ public PtCalculationResDto calculatePtVals(PtValsCalReqDto ptVals) { Integer totalNonOrchardPollen = 0; Integer numNonOrchardPollen = 0; - SparLog.debug("ptVals.contaminantPollenBv(): {}", ptVals.contaminantPollenBv()); + double contaminantPollenBvDouble = 0; + if (ValueUtil.hasValue(ptVals.contaminantPollenBv())) { + contaminantPollenBvDouble = ptVals.contaminantPollenBv().doubleValue(); + } + + SparLog.debug("contaminantPollenBvDouble: {}", contaminantPollenBvDouble); // --Third pass to calc values that depend on totals derived above and the remainder for (OrchardParentTreeValsDto parentTreeRow : ptVals.orchardPtVals()) { @@ -257,7 +262,7 @@ public PtCalculationResDto calculatePtVals(PtValsCalReqDto ptVals) { // --col:AA double vmContamContrib = - (auxValueAa * ptVals.contaminantPollenBv().doubleValue()) * femaleCropPop.doubleValue(); + (auxValueAa * contaminantPollenBvDouble) * femaleCropPop.doubleValue(); // --col:AB (depends on SUM(X)=v_sum_m_gw_contrib_orch_poll) double auxValueAb = From ecb361b282606aec01ea592e2386762ea7a24c44 Mon Sep 17 00:00:00 2001 From: Ricardo Campos Date: Fri, 11 Oct 2024 19:20:37 -0300 Subject: [PATCH 22/23] feat: add backup routine for SPAR postgres DB (#1556) Co-authored-by: Derek Roberts --- .github/workflows/.deploy.yml | 13 +- common/openshift.backup.yml | 239 ++++++++++++++++++++++++++++++++++ 2 files changed, 247 insertions(+), 5 deletions(-) create mode 100644 common/openshift.backup.yml diff --git a/.github/workflows/.deploy.yml b/.github/workflows/.deploy.yml index b3ee203e6..49c0dc175 100644 --- a/.github/workflows/.deploy.yml +++ b/.github/workflows/.deploy.yml @@ -114,24 +114,26 @@ jobs: timeout-minutes: 10 strategy: matrix: - name: [backend, frontend, oracle-api] + name: [backend, backup, frontend, oracle-api] include: - name: backend file: backend/openshift.deploy.yml - overwrite: true parameters: -p AWS_COGNITO_ISSUER_URI=https://cognito-idp.ca-central-1.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }} verification_path: "health" + - name: backup + file: common/openshift.backup.yml + parameters: + -p PG_DB_IMAGE=postgis/postgis:15-master + post_rollout: oc create job --from=cronjob/${{ github.event.repository.name }}-${{ inputs.target }}-database-backup ${{ github.event.repository.name }}-${{ inputs.target }}-database-backup-$(date +%Y%m%d%H%M%S) - name: frontend file: frontend/openshift.deploy.yml - overwrite: true parameters: -p FAM_MODDED_ZONE=${{ needs.init.outputs.fam-modded-zone }} -p VITE_SPAR_BUILD_VERSION=snapshot-${{ inputs.target || github.event.number }} -p VITE_USER_POOLS_ID=${{ vars.VITE_USER_POOLS_ID }} - name: oracle-api file: oracle-api/openshift.deploy.yml - overwrite: true parameters: -p AWS_COGNITO_ISSUER_URI=https://cognito-idp.ca-central-1.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }} ${{ github.event_name == 'pull_request' && '-p CPU_LIMIT=100m' || '' }} @@ -147,13 +149,14 @@ jobs: oc_namespace: ${{ vars.OC_NAMESPACE }} oc_server: ${{ vars.OC_SERVER }} oc_token: ${{ secrets.OC_TOKEN }} - overwrite: ${{ matrix.overwrite }} + overwrite: true parameters: -p TAG=${{ inputs.tag }} -p ZONE=${{ inputs.target }} ${{ github.event_name == 'pull_request' && '-p MIN_REPLICAS=1' || '' }} ${{ github.event_name == 'pull_request' && '-p MAX_REPLICAS=1' || '' }} ${{ matrix.parameters }} + post_rollout: ${{ matrix.post_rollout || '' }} verification_path: ${{ matrix.verification_path }} verification_retry_attempts: 5 verification_retry_seconds: 20 diff --git a/common/openshift.backup.yml b/common/openshift.backup.yml new file mode 100644 index 000000000..c5ae2b3d5 --- /dev/null +++ b/common/openshift.backup.yml @@ -0,0 +1,239 @@ +apiVersion: template.openshift.io/v1 +kind: Template +labels: + app: ${NAME}-${ZONE} + app.kubernetes.io/part-of: ${NAME}-${ZONE} +parameters: + - name: NAME + description: Product name + value: nr-spar + - name: COMPONENT + description: Component name + value: database-backup + - name: ZONE + description: Deployment zone, e.g. pr-### or prod + required: true + - name: RESTORE_DIR + description: Directory to be used for restoring the backup + value: /tmp/restore + - name: REGISTRY + description: Container registry to import from (internal is image-registry.openshift-image-registry.svc:5000) + value: ghcr.io + - name: BACKUP_DIR + description: "The name of the root backup directory" + required: true + value: /tmp/backup + - name: NUM_BACKUPS + description: The number of backup files to be retained + required: false + value: "5" + - name: "JOB_SERVICE_ACCOUNT" + description: "Name of the Service Account To Exeucte the Job As." + value: "default" + required: true + - name: "SUCCESS_JOBS_HISTORY_LIMIT" + description: "The number of successful jobs that will be retained" + value: "5" + required: true + - name: "FAILED_JOBS_HISTORY_LIMIT" + description: "The number of failed jobs that will be retained" + value: "2" + required: true + - name: "JOB_BACKOFF_LIMIT" + description: "The number of attempts to try for a successful job outcome" + value: "0" + - name: PVC_SIZE + description: Volume space available for data, e.g. 512Mi, 2Gi. + value: 256Mi + - name: PG_DB_IMAGE + description: PostgreSQL Image (namespace/name:tag) to be used for backup + required: true + - name: TAG + description: Dummy param, for convenience + - name: MIN_REPLICAS + description: Dummy param, for convenience + - name: MAX_REPLICAS + description: Dummy param, for convenience +objects: + - kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: ${NAME}-${ZONE}-${COMPONENT} + labels: + app: ${NAME}-${ZONE} + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "${PVC_SIZE}" + storageClassName: netapp-file-standard + - kind: CronJob + apiVersion: "batch/v1" + metadata: + name: ${NAME}-${ZONE}-${COMPONENT} + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + schedule: "0 0 * * *" + concurrencyPolicy: "Replace" + successfulJobsHistoryLimit: ${{SUCCESS_JOBS_HISTORY_LIMIT}} + failedJobsHistoryLimit: ${{FAILED_JOBS_HISTORY_LIMIT}} + jobTemplate: + metadata: + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + backoffLimit: ${{JOB_BACKOFF_LIMIT}} + template: + metadata: + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + containers: + - name: ${NAME}-${ZONE}-${COMPONENT} + image: ${REGISTRY}/${PG_DB_IMAGE} + command: ["/bin/sh", "-c"] + args: + - | + pg_dump \ + -U ${POSTGRESQL_USER} \ + -h ${NAME}-${ZONE}-database \ + -d ${POSTGRESQL_DATABASE} \ + --data-only \ + --schema=nr-spar \ + --inserts \ + --no-comments \ + --on-conflict-do-nothing \ + --no-sync \ + --exclude-table=nr-spar.cone_collection_method_list \ + --exclude-table=nr-spar.gametic_methodology_list \ + --exclude-table=nr-spar.genetic_class_list \ + --exclude-table=nr-spar.genetic_worth_list \ + --exclude-table=nr-spar.method_of_payment_list \ + --exclude-table=nr-spar.seedlot_source_list \ + --exclude-table=nr-spar.seedlot_status_list \ + --exclude-table=nr-spar.etl_execution_log_hist \ + --exclude-table=nr-spar.etl_execution_map \ + --exclude-table=nr-spar.etl_execution_schedule \ + --file=${BACKUP_DIR}/backup_$(date +%Y-%m-%d).sql \ + && + find "${BACKUP_DIR}" -type f -mtime +$NUM_BACKUPS -exec rm -f {} \; && + cp -r ${BACKUP_DIR}/backup_$(date +%Y-%m-%d).sql ${RESTORE_DIR}/W0__restore.sql + volumeMounts: + - mountPath: "${BACKUP_DIR}" + name: ${NAME}-${ZONE}-${COMPONENT} + - mountPath: "${RESTORE_DIR}" + name: ${NAME}-${ZONE}-${COMPONENT} + env: + - name: RESTORE_DIR + value: "${RESTORE_DIR}" + - name: BACKUP_DIR + value: "${BACKUP_DIR}" + - name: NUM_BACKUPS + value: "${NUM_BACKUPS}" + - name: POSTGRESQL_DATABASE + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-name + - name: POSTGRESQL_USER + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-user + - name: POSTGRESQL_PASSWORD + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-password + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-password + volumes: + - name: ${NAME}-${ZONE}-${COMPONENT} + persistentVolumeClaim: + claimName: ${NAME}-${ZONE}-${COMPONENT} + restartPolicy: "Never" + terminationGracePeriodSeconds: 30 + activeDeadlineSeconds: 1600 + dnsPolicy: "ClusterFirst" + serviceAccountName: "${JOB_SERVICE_ACCOUNT}" + serviceAccount: "${JOB_SERVICE_ACCOUNT}" + - kind: CronJob + apiVersion: "batch/v1" + metadata: + name: ${NAME}-${ZONE}-${COMPONENT}-restore + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + schedule: "0 0 31 2 *" + concurrencyPolicy: "Replace" + successfulJobsHistoryLimit: ${{SUCCESS_JOBS_HISTORY_LIMIT}} + failedJobsHistoryLimit: ${{FAILED_JOBS_HISTORY_LIMIT}} + jobTemplate: + metadata: + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + backoffLimit: ${{JOB_BACKOFF_LIMIT}} + template: + metadata: + labels: + app: ${NAME}-${ZONE} + cronjob: ${NAME}-${ZONE} + spec: + containers: + - name: ${NAME}-${ZONE}-${COMPONENT}-restore + image: ${REGISTRY}/${PG_DB_IMAGE} + command: ["/bin/sh", "-c"] + args: + - | + find ${RESTORE_DIR} -type f -name "*.sql" -print0 | sort -zV | + while IFS= read -r -d '' sql_file; do + echo "Running SQL file: $sql_file" + psql -h ${TARGET_HOST} -U ${POSTGRESQL_USER} -d ${POSTGRESQL_DATABASE} -f $sql_file + done + volumeMounts: + - mountPath: "${RESTORE_DIR}" + name: ${NAME}-${ZONE}-${COMPONENT} + env: + - name: RESTORE_DIR + value: "${RESTORE_DIR}" + - name: POSTGRESQL_DATABASE + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-name + - name: POSTGRESQL_USER + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-user + - name: POSTGRESQL_PASSWORD + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-password + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: ${NAME}-${ZONE}-database + key: database-password + volumes: + - name: ${NAME}-${ZONE}-${COMPONENT} + persistentVolumeClaim: + claimName: ${NAME}-${ZONE}-${COMPONENT} + restartPolicy: "Never" + terminationGracePeriodSeconds: 30 + activeDeadlineSeconds: 1600 + dnsPolicy: "ClusterFirst" + serviceAccountName: "${JOB_SERVICE_ACCOUNT}" + serviceAccount: "${JOB_SERVICE_ACCOUNT}" From 766f73f2d557ed8d6ceb3becc0bd918aec31e9ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:50:33 -0700 Subject: [PATCH 23/23] chore(deps): update aquasecurity/trivy-action action to v0.25.0 (#1672) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analysis.yml b/.github/workflows/analysis.yml index 8b3d324f5..7e8cf5484 100644 --- a/.github/workflows/analysis.yml +++ b/.github/workflows/analysis.yml @@ -60,7 +60,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@0.24.0 + uses: aquasecurity/trivy-action@0.25.0 with: format: "sarif" output: "trivy-results.sarif"