From ca99a5f1c5b7ce10324a27e865d1933b91751009 Mon Sep 17 00:00:00 2001 From: Kris McGinnes Date: Wed, 31 Jul 2024 17:03:43 -0500 Subject: [PATCH 1/5] Update eslint-plugin-react --- package.json | 2 +- pnpm-lock.yaml | 204 ++++++++++++++++++++++++++----------------------- 2 files changed, 108 insertions(+), 98 deletions(-) diff --git a/package.json b/package.json index a2fe93657..c2cc64d10 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@tanstack/eslint-plugin-query": "^5.51.1", "eslint": "^9.7.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^4.6.2", "globals": "^15.8.0", "husky": "^9.0.11", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bed8d7481..f94d44094 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,8 +41,8 @@ importers: specifier: ^9.1.0 version: 9.1.0(eslint@9.7.0) eslint-plugin-react: - specifier: ^7.34.1 - version: 7.34.1(eslint@9.7.0) + specifier: ^7.35.0 + version: 7.35.0(eslint@9.7.0) eslint-plugin-react-hooks: specifier: ^4.6.2 version: 4.6.2(eslint@9.7.0) @@ -421,7 +421,7 @@ importers: dependencies: '@aws-sdk/credential-providers': specifier: ^3.567.0 - version: 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + version: 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) aws4: specifier: ^1.12.0 version: 1.12.0 @@ -574,14 +574,14 @@ packages: tslib: 2.6.3 dev: false - /@aws-sdk/client-cognito-identity@3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): + /@aws-sdk/client-cognito-identity@3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): resolution: {integrity: sha512-gnhksy+CcK0wQEuuMn1n/Q8FCfJ7TtIiNUqGGQwoXErfKXY2xoO170czcioJBt6yh2D8eQkyy33PMkXdB3xQAA==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 '@aws-sdk/core': 3.567.0 - '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/middleware-host-header': 3.567.0 '@aws-sdk/middleware-logger': 3.567.0 '@aws-sdk/middleware-recursion-detection': 3.567.0 @@ -623,17 +623,17 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso-oidc@3.620.1(@aws-sdk/client-sts@3.567.0): - resolution: {integrity: sha512-gm69ttbkr7Kbg/Zzr3SczyLWkLgmK3bEZtkvbM/40ZW5ItYhDzJE48Ovs2lyA64h2YsOftDqqwcbJirAAdTgSg==} + /@aws-sdk/client-sso-oidc@3.621.0(@aws-sdk/client-sts@3.567.0): + resolution: {integrity: sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.620.1 + '@aws-sdk/client-sts': ^3.621.0 dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) - '@aws-sdk/core': 3.620.1 - '@aws-sdk/credential-provider-node': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) + '@aws-sdk/core': 3.621.0 + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/middleware-host-header': 3.620.0 '@aws-sdk/middleware-logger': 3.609.0 '@aws-sdk/middleware-recursion-detection': 3.620.0 @@ -719,13 +719,13 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso@3.620.1: - resolution: {integrity: sha512-4Ox0BSs+atrAhLvjNHN2uiYvSTdpMv//IS4l4XRoQG0cJKIPLs3OU3PL5H0X1NfZehz9/8FTWl5Lv81uw4j1eA==} + /@aws-sdk/client-sso@3.621.0: + resolution: {integrity: sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.620.1 + '@aws-sdk/core': 3.621.0 '@aws-sdk/middleware-host-header': 3.620.0 '@aws-sdk/middleware-logger': 3.609.0 '@aws-sdk/middleware-recursion-detection': 3.620.0 @@ -765,14 +765,14 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sts@3.567.0(@aws-sdk/client-sso-oidc@3.620.1): + /@aws-sdk/client-sts@3.567.0(@aws-sdk/client-sso-oidc@3.621.0): resolution: {integrity: sha512-Hsbj/iJJZbajdYRja4MiqK7chaXim+cltaIslqjhTFCHlOct88qQRUAz2GHzNkyIH9glubLdwHqQZ+QmCf+4Vw==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 '@aws-sdk/core': 3.567.0 - '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/middleware-host-header': 3.567.0 '@aws-sdk/middleware-logger': 3.567.0 '@aws-sdk/middleware-recursion-detection': 3.567.0 @@ -826,8 +826,8 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/core@3.620.1: - resolution: {integrity: sha512-6Ejce93dDlDnovl6oYtxj3I/SJMOQoFdmmtM4+4W/cgMWH+l00T5aszVxDLjjPfu3Ryt7dNhrXaYeK2Ue1ZBmg==} + /@aws-sdk/core@3.621.0: + resolution: {integrity: sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==} engines: {node: '>=16.0.0'} dependencies: '@smithy/core': 2.3.1 @@ -837,15 +837,15 @@ packages: '@smithy/smithy-client': 3.1.11 '@smithy/types': 3.3.0 '@smithy/util-middleware': 3.0.3 - fast-xml-parser: 4.2.5 + fast-xml-parser: 4.4.1 tslib: 2.6.3 dev: false - /@aws-sdk/credential-provider-cognito-identity@3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): + /@aws-sdk/credential-provider-cognito-identity@3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): resolution: {integrity: sha512-HLxdNMiZkrGw3AaBYbgf0JeE6hrdrEZduzLzEhqMm9wSCHwjcOaruBW1rRgEYUCToxrsXDxBDUIQbaS8HLcVIg==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 @@ -891,8 +891,8 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-http@3.620.0: - resolution: {integrity: sha512-BI2BdrSKDmB/2ouB/NJR0PT0x/+5fmoF6XOE78hFBb4F5w/yynGgcJY936dF+oREfpME6ehjB2b0okGg78Scpw==} + /@aws-sdk/credential-provider-http@3.621.0: + resolution: {integrity: sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.609.0 @@ -906,16 +906,16 @@ packages: tslib: 2.6.3 dev: false - /@aws-sdk/credential-provider-ini@3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): + /@aws-sdk/credential-provider-ini@3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): resolution: {integrity: sha512-azbZ3jYZmSD3oCzbjPOrI+pilRDV6H9qtJ3J4MCnbRYQxR8eu80l4Y0tXl0+GfHZCpdOJ9+uEhqU+yTiVrrOXg==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sts': ^3.567.0 dependencies: - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/credential-provider-env': 3.567.0 '@aws-sdk/credential-provider-process': 3.567.0 - '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/credential-provider-web-identity': 3.567.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.567.0 '@smithy/credential-provider-imds': 2.3.0 @@ -928,18 +928,18 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-ini@3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): - resolution: {integrity: sha512-m9jwigMPRlRRhoPxCQZMOwQUd6imEJbksF6tSMYNae76DIvrCi4z2Jhp6RJ9Mij8cnewUZCAmvu2FlK9+n9M7A==} + /@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): + resolution: {integrity: sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.620.1 + '@aws-sdk/client-sts': ^3.621.0 dependencies: - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/credential-provider-env': 3.620.1 - '@aws-sdk/credential-provider-http': 3.620.0 + '@aws-sdk/credential-provider-http': 3.621.0 '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1) - '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0) + '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 '@smithy/property-provider': 3.1.3 @@ -951,15 +951,15 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): + /@aws-sdk/credential-provider-node@3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): resolution: {integrity: sha512-/kwYs2URdcXjKCPClUYrvdhhh7oRh1PWC0mehzy92c0I8hMdhIIpOmwJj8IoRIWdsCnPRatWBJBuE553y+HaUQ==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.567.0 '@aws-sdk/credential-provider-http': 3.567.0 - '@aws-sdk/credential-provider-ini': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-ini': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/credential-provider-process': 3.567.0 - '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/credential-provider-web-identity': 3.567.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.567.0 '@smithy/credential-provider-imds': 2.3.0 @@ -973,16 +973,16 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0): - resolution: {integrity: sha512-KaprIJW2azM+oTIHi7S1ayJ3oQqoFwpMBWFpZM1nvSzaPucrZIUmX2m4uVrMM4LfXsfUsgMkrme2rBI1fGAjCg==} + /@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0): + resolution: {integrity: sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.620.1 - '@aws-sdk/credential-provider-http': 3.620.0 - '@aws-sdk/credential-provider-ini': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-http': 3.621.0 + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.620.1(@aws-sdk/client-sso-oidc@3.620.1) - '@aws-sdk/credential-provider-web-identity': 3.609.0(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.621.0) + '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 '@smithy/property-provider': 3.1.3 @@ -1017,12 +1017,12 @@ packages: tslib: 2.6.3 dev: false - /@aws-sdk/credential-provider-sso@3.567.0(@aws-sdk/client-sso-oidc@3.620.1): + /@aws-sdk/credential-provider-sso@3.567.0(@aws-sdk/client-sso-oidc@3.621.0): resolution: {integrity: sha512-7TjvMiMsyYANNBiWBArEe7SvqSkZH0FleGUzp+AgT8/CDyGDRdLk7ve2n9f1+iH28av5J0Nw8+TfscHCImrDrQ==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/client-sso': 3.567.0 - '@aws-sdk/token-providers': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/token-providers': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -1033,12 +1033,12 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-sso@3.620.1(@aws-sdk/client-sso-oidc@3.620.1): - resolution: {integrity: sha512-cFU8e6ctdkWR8BRCnHFzs37N+ilbHf1OT2EeMjt1ZDE9FgTD5L5BTgVWDxnPmyQnEoBs1p4PyNPHkpHY5EmswQ==} + /@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.621.0): + resolution: {integrity: sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-sso': 3.620.1 - '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/client-sso': 3.621.0 + '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -1055,40 +1055,40 @@ packages: peerDependencies: '@aws-sdk/client-sts': ^3.567.0 dependencies: - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-web-identity@3.609.0(@aws-sdk/client-sts@3.567.0): - resolution: {integrity: sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==} + /@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.567.0): + resolution: {integrity: sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.609.0 + '@aws-sdk/client-sts': ^3.621.0 dependencies: - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/types': 3.3.0 tslib: 2.6.3 dev: false - /@aws-sdk/credential-providers@3.567.0(@aws-sdk/client-sso-oidc@3.620.1): + /@aws-sdk/credential-providers@3.567.0(@aws-sdk/client-sso-oidc@3.621.0): resolution: {integrity: sha512-AXx/ol5oFb9tOnqKt1UURscxEyZUbn6pmbwRlBYAQb1ZeWwtXgBrAjtrE0f/Jm6vG4LOOuVII3CHnCI30mZIfw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/client-sso': 3.567.0 - '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) - '@aws-sdk/credential-provider-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-sts': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) + '@aws-sdk/credential-provider-cognito-identity': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/credential-provider-env': 3.567.0 '@aws-sdk/credential-provider-http': 3.567.0 - '@aws-sdk/credential-provider-ini': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) - '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-ini': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/credential-provider-node': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0)(@aws-sdk/client-sts@3.567.0) '@aws-sdk/credential-provider-process': 3.567.0 - '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.620.1) + '@aws-sdk/credential-provider-sso': 3.567.0(@aws-sdk/client-sso-oidc@3.621.0) '@aws-sdk/credential-provider-web-identity': 3.567.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.567.0 '@smithy/credential-provider-imds': 2.3.0 @@ -1204,13 +1204,13 @@ packages: tslib: 2.6.3 dev: false - /@aws-sdk/token-providers@3.567.0(@aws-sdk/client-sso-oidc@3.620.1): + /@aws-sdk/token-providers@3.567.0(@aws-sdk/client-sso-oidc@3.621.0): resolution: {integrity: sha512-W9Zd7/504wGrNjHHbJeCms1j1M6/88cHtBhRTKOWa7mec1gCjrd0VB3JE1cRodc6OrbJZ9TmyarBg8er6X5aiA==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.567.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-sso-oidc': 3.621.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -1218,13 +1218,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.620.1): + /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.621.0): resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.614.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.620.1(@aws-sdk/client-sts@3.567.0) + '@aws-sdk/client-sso-oidc': 3.621.0(@aws-sdk/client-sts@3.567.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -6155,15 +6155,6 @@ packages: es-shim-unscopables: 1.0.2 dev: true - /array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.tosorted@1.1.4: resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} engines: {node: '>= 0.4'} @@ -7075,7 +7066,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -7267,31 +7258,31 @@ packages: eslint: 9.7.0 dev: true - /eslint-plugin-react@7.34.1(eslint@9.7.0): - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + /eslint-plugin-react@7.35.0(eslint@9.7.0): + resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 eslint: 9.7.0 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 - semver: 7.6.2 + semver: 7.6.3 string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 dev: true /eslint-scope@5.1.1: @@ -7557,6 +7548,13 @@ packages: strnum: 1.0.5 dev: false + /fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: @@ -8151,6 +8149,13 @@ packages: dependencies: hasown: 2.0.2 + /is-core-module@2.15.0: + resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + /is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -8659,7 +8664,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /make-error@1.3.6: @@ -8841,8 +8846,9 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -8878,15 +8884,6 @@ packages: es-object-atoms: 1.0.0 dev: true - /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - dev: true - /object.values@1.2.0: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} @@ -9763,7 +9760,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.4 - which-builtin-type: 1.1.3 + which-builtin-type: 1.1.4 dev: true /regenerate-unicode-properties@10.1.1: @@ -9862,7 +9859,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -9988,6 +9985,12 @@ packages: hasBin: true dev: true + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -10108,7 +10111,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -10253,6 +10256,13 @@ packages: side-channel: 1.0.6 dev: true + /string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + dev: true + /string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -11078,8 +11088,8 @@ packages: is-symbol: 1.0.4 dev: true - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + /which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 From a27ab98277a3876caf52fb089aef97d5d03ffee6 Mon Sep 17 00:00:00 2001 From: Kris McGinnes Date: Wed, 31 Jul 2024 17:06:04 -0500 Subject: [PATCH 2/5] Update config for eslint-plugin-react --- eslint.config.mjs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index eb7acc2ea..50353e402 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,15 +1,11 @@ import globals from "globals"; import pluginJs from "@eslint/js"; import tseslint from "typescript-eslint"; -import pluginReactConfig from "eslint-plugin-react/configs/recommended.js"; +import reactLint from "eslint-plugin-react"; import reactHooksLint from "eslint-plugin-react-hooks"; import tanstackQueryLint from "@tanstack/eslint-plugin-query"; import eslintConfigPrettier from "eslint-config-prettier"; -import { - fixupConfigRules, - fixupPluginRules, - includeIgnoreFile, -} from "@eslint/compat"; +import { fixupPluginRules, includeIgnoreFile } from "@eslint/compat"; import path from "node:path"; import { fileURLToPath } from "node:url"; @@ -26,7 +22,7 @@ export default [ { languageOptions: { globals: { ...globals.browser, ...globals.node } } }, pluginJs.configs.recommended, ...tseslint.configs.recommendedTypeChecked, - ...fixupConfigRules(pluginReactConfig), + reactLint.configs.flat.recommended, { plugins: { "react-hooks": fixupPluginRules(reactHooksLint) }, rules: { ...reactHooksLint.configs.recommended.rules }, From 49dfa032f6f31b612634305a66c11bfcb03d9019 Mon Sep 17 00:00:00 2001 From: Kris McGinnes Date: Wed, 31 Jul 2024 17:22:19 -0500 Subject: [PATCH 3/5] Check types in server --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2cc64d10..fc961c637 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "test": "pnpm --stream -r run test", "test:watch": "pnpm --stream -r run test:watch", "coverage": "pnpm --stream -r run coverage", - "check:types": "tsc --project packages/graph-explorer/", + "check:types": "tsc --project packages/graph-explorer/ && tsc --project packages/graph-explorer-proxy-server", "checks": "pnpm run '/^check:.*/'", "start": "pnpm --filter \"graph-explorer-proxy-server\" run start", "start:client": "pnpm --filter \"graph-explorer\" run serve", From 18426e0c56acef8ab84deb3e02fd0e7c94d16130 Mon Sep 17 00:00:00 2001 From: Kris McGinnes Date: Wed, 31 Jul 2024 17:41:42 -0500 Subject: [PATCH 4/5] Lint the server code --- eslint.config.mjs | 3 - .../node-server.ts | 63 ++++++++++--------- 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 50353e402..bc4c45b32 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -15,9 +15,6 @@ const gitignorePath = path.resolve(__dirname, ".gitignore"); export default [ includeIgnoreFile(gitignorePath), - { - ignores: ["packages/graph-explorer-proxy-server/*"], - }, { languageOptions: { parserOptions: { ecmaFeatures: { jsx: true } } } }, { languageOptions: { globals: { ...globals.browser, ...globals.node } } }, pluginJs.configs.recommended, diff --git a/packages/graph-explorer-proxy-server/node-server.ts b/packages/graph-explorer-proxy-server/node-server.ts index 8886f893c..54c8dedfb 100644 --- a/packages/graph-explorer-proxy-server/node-server.ts +++ b/packages/graph-explorer-proxy-server/node-server.ts @@ -1,8 +1,8 @@ -import express from "express"; +import express, { NextFunction, Request, Response } from "express"; import cors from "cors"; import compression from "compression"; import dotenv from "dotenv"; -import fetch from "node-fetch"; +import fetch, { RequestInit } from "node-fetch"; import https from "https"; import bodyParser from "body-parser"; import fs from "fs"; @@ -24,7 +24,6 @@ dotenv.config({ }); const DEFAULT_SERVICE_TYPE = "neptune-db"; -const NEPTUNE_ANALYTICS_SERVICE_TYPE = "neptune-graph"; interface DbQueryIncomingHttpHeaders extends IncomingHttpHeaders { queryid?: string; @@ -44,7 +43,7 @@ app.use(requestLoggingMiddleware(proxyLogger)); // Function to get IAM headers for AWS4 signing process. async function getIAMHeaders(options) { const credentialProvider = fromNodeProviderChain(); - let creds = await credentialProvider(); + const creds = await credentialProvider(); if (creds === undefined) { throw new Error( "IAM is enabled but credentials cannot be found on the credential provider chain." @@ -60,7 +59,12 @@ async function getIAMHeaders(options) { } // Error handler middleware to log errors and send appropriate response. -const errorHandler = (error, request, response, next) => { +const errorHandler = ( + error: any, + _request: Request, + response: Response, + _next: NextFunction +) => { if (error.extraInfo) { proxyLogger.error(error.extraInfo + error.message); proxyLogger.debug(error.stack); @@ -80,11 +84,11 @@ const errorHandler = (error, request, response, next) => { // Function to retry fetch requests with exponential backoff. const retryFetch = async ( - url, - options, - isIamEnabled, - region, - serviceType, + url: URL, + options: any, + isIamEnabled: boolean, + region: string | undefined, + serviceType: string, retryDelay = 10000, refetchMaxRetries = 1 ) => { @@ -149,13 +153,13 @@ const retryFetch = async ( // Function to fetch data from the given URL and send it as a response. async function fetchData( - res, - next, - url, - options, - isIamEnabled, - region, - serviceType + res: Response, + next: NextFunction, + url: string, + options: RequestInit, + isIamEnabled: boolean, + region: string | undefined, + serviceType: string ) { try { const response = await retryFetch( @@ -198,7 +202,7 @@ if (staticFilesVirtualPath) { } // POST endpoint for SPARQL queries. -app.post("/sparql", async (req, res, next) => { +app.post("/sparql", (req, res, next) => { // Gather info from the headers const headers = req.headers as DbQueryIncomingHttpHeaders; const queryId = headers["queryid"]; @@ -232,7 +236,7 @@ app.post("/sparql", async (req, res, next) => { ); } catch (err) { // Not really an error - proxyLogger.warn("Failed to cancel the query: " + err); + proxyLogger.warn("Failed to cancel the query: %o", err); } } @@ -281,7 +285,7 @@ app.post("/sparql", async (req, res, next) => { }); // POST endpoint for Gremlin queries. -app.post("/gremlin", async (req, res, next) => { +app.post("/gremlin", (req, res, next) => { // Gather info from the headers const headers = req.headers as DbQueryIncomingHttpHeaders; const queryId = headers["queryid"]; @@ -317,7 +321,7 @@ app.post("/gremlin", async (req, res, next) => { ); } catch (err) { // Not really an error - proxyLogger.warn("Failed to cancel the query: " + err); + proxyLogger.warn("Failed to cancel the query: %o", err); } } @@ -358,7 +362,7 @@ app.post("/gremlin", async (req, res, next) => { }); // POST endpoint for openCypher queries. -app.post("/openCypher", async (req, res, next) => { +app.post("/openCypher", (req, res, next) => { // Validate the input before making any external calls. if (!req.body.query) { return res @@ -366,7 +370,8 @@ app.post("/openCypher", async (req, res, next) => { .send({ error: "[Proxy]OpenCypher: query not provided" }); } - const rawUrl = `${req.headers["graph-db-connection-url"]}/openCypher`; + const headers = req.headers as DbQueryIncomingHttpHeaders; + const rawUrl = `${headers["graph-db-connection-url"]}/openCypher`; const requestOptions = { method: "POST", headers: { @@ -376,10 +381,10 @@ app.post("/openCypher", async (req, res, next) => { body: `query=${encodeURIComponent(req.body.query)}`, }; - const isIamEnabled = !!req.headers["aws-neptune-region"]; - const region = isIamEnabled ? req.headers["aws-neptune-region"] : ""; + const isIamEnabled = !!headers["aws-neptune-region"]; + const region = isIamEnabled ? headers["aws-neptune-region"] : ""; const serviceType = isIamEnabled - ? req.headers["service-type"] ?? DEFAULT_SERVICE_TYPE + ? headers["service-type"] ?? DEFAULT_SERVICE_TYPE : ""; fetchData( @@ -394,7 +399,7 @@ app.post("/openCypher", async (req, res, next) => { }); // GET endpoint to retrieve PropertyGraph statistics summary for Neptune Analytics. -app.get("/summary", async (req, res, next) => { +app.get("/summary", (req, res, next) => { const headers = req.headers as DbQueryIncomingHttpHeaders; const isIamEnabled = !!headers["aws-neptune-region"]; const serviceType = isIamEnabled @@ -420,7 +425,7 @@ app.get("/summary", async (req, res, next) => { }); // GET endpoint to retrieve PropertyGraph statistics summary for Neptune DB. -app.get("/pg/statistics/summary", async (req, res, next) => { +app.get("/pg/statistics/summary", (req, res, next) => { const headers = req.headers as DbQueryIncomingHttpHeaders; const isIamEnabled = !!headers["aws-neptune-region"]; const serviceType = isIamEnabled @@ -446,7 +451,7 @@ app.get("/pg/statistics/summary", async (req, res, next) => { }); // GET endpoint to retrieve RDF statistics summary. -app.get("/rdf/statistics/summary", async (req, res, next) => { +app.get("/rdf/statistics/summary", (req, res, next) => { const headers = req.headers as DbQueryIncomingHttpHeaders; const isIamEnabled = !!headers["aws-neptune-region"]; const serviceType = isIamEnabled From 90918f27ad36eb32d487ec996e2cd61e3e15405e Mon Sep 17 00:00:00 2001 From: Kris McGinnes Date: Wed, 31 Jul 2024 17:43:58 -0500 Subject: [PATCH 5/5] Update changelog --- Changelog.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index 74af67e3f..f5a70beb9 100644 --- a/Changelog.md +++ b/Changelog.md @@ -51,11 +51,14 @@ () - Fix running in production mode locally with Node () +- Add type checking and linting to server code + () - Update dependencies (, , , , - ) + , + ) ## Release 1.8.0