diff --git a/.eslintrc.js b/.eslintrc.js
index 5b999efa4..fc519f6d2 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,10 +1,5 @@
module.exports = {
- root: true,
- // This tells ESLint to load the config from the package `eslint-config-custom`
+ root: true, // This tells ESLint to load the config from the package `eslint-config-custom`
extends: ["custom"],
- settings: {
- next: {
- rootDir: ["apps/*/"],
- },
- },
+ settings: { next: { rootDir: ["apps/*/"] } },
};
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 83f5f6101..5ee8036a7 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -6,4 +6,6 @@
"editor.formatOnSave": true
},
"solidity.formatter": "forge",
-}
+ "editor.formatOnSave": true,
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+}
\ No newline at end of file
diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js
index 16cf4ecde..0f691b195 100644
--- a/apps/web/.eslintrc.js
+++ b/apps/web/.eslintrc.js
@@ -2,15 +2,54 @@
* @type {import('eslint').Linter.Config}
*/
module.exports = {
- extends: ["next/core-web-vitals", "turbo", "prettier"],
+ extends: ["next/core-web-vitals", "turbo", "prettier", "eslint:recommended","plugin:@typescript-eslint/recommended"],
ignorePatterns: ["node_modules", "dist"],
+ parser: '@typescript-eslint/parser',
parserOptions: {
- babelOptions: {
- presets: [require.resolve("next/babel")],
- },
+ project: "./tsconfig.json",
},
rules: {
"react-hooks/exhaustive-deps": "off",
- "no-html-link-for-pages": "off",
+ "@next/next/no-html-link-for-pages": "off",
+ "@typescript-eslint/no-unused-vars": [
+ "warn",
+ {
+ argsIgnorePattern: "^_",
+ varsIgnorePattern: "^_",
+ caughtErrorsIgnorePattern: "^_",
+ },
+ ],
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/ban-ts-comment": "off",
+ "@next/next/no-page-custom-font": "off",
+ "@typescript-eslint/no-non-null-assertion": "off",
+ "@typescript-eslint/prefer-nullish-coalescing": "error",
+ "react/self-closing-comp": [
+ "error",
+ {
+ component: true,
+ html: true,
+ },
+ ],
+ "no-unreachable": "warn",
+ "no-console": ["warn", {
+ allow: ["warn", "error", "info", "debug"],
+ }],
+ "prefer-const": "off",
+ "@typescript-eslint/consistent-type-definitions": "off",
+ "import/order": [
+ "error",
+ {
+ groups: [
+ "external",
+ "builtin",
+ "internal",
+ "sibling",
+ "parent",
+ "index",
+ ],
+ },
+ ],
+ curly: "error",
},
};
diff --git a/apps/web/.vscode/settings.json b/apps/web/.vscode/settings.json
new file mode 100644
index 000000000..f0977b535
--- /dev/null
+++ b/apps/web/.vscode/settings.json
@@ -0,0 +1,9 @@
+{
+ "solidity.packageDefaultDependenciesContractsDirectory": "pkg/contracts/src",
+ "solidity.packageDefaultDependenciesDirectory": "lib",
+ "[solidity]": {
+ "editor.defaultFormatter": "NomicFoundation.hardhat-solidity",
+ "editor.formatOnSave": true
+ },
+ "solidity.formatter": "forge",
+}
\ No newline at end of file
diff --git a/apps/web/app/(app)/gardens/[chain]/[garden]/[community]/page.tsx b/apps/web/app/(app)/gardens/[chain]/[garden]/[community]/page.tsx
index 5ef168e74..a07049db9 100644
--- a/apps/web/app/(app)/gardens/[chain]/[garden]/[community]/page.tsx
+++ b/apps/web/app/(app)/gardens/[chain]/[garden]/[community]/page.tsx
@@ -1,16 +1,16 @@
"use client";
-import { commImg, groupFlowers } from "@/assets";
import React, { useEffect, useState } from "react";
+import { commImg, groupFlowers } from "@/assets";
import Image from "next/image";
import {
+ Button,
+ DisplayNumber,
EthAddress,
- Statistic,
+ IncreasePower,
PoolCard,
RegisterMember,
- DisplayNumber,
- IncreasePower,
- Button,
+ Statistic,
} from "@/components";
import { Address } from "viem";
import {
@@ -50,7 +50,7 @@ export default function CommunityPage({
{ topic: "member", containerId: communityAddr },
],
});
-
+
const { tooltipMessage, isConnected, missmatchUrl } = useDisableButtons();
useEffect(() => {
if (error) {
@@ -305,7 +305,7 @@ export default function CommunityPage({
covenant ? (
{covenant}
) : (
-
+
)
) : (
No covenant was submitted.
diff --git a/apps/web/app/api/ipfs/route.ts b/apps/web/app/api/ipfs/route.ts
index 88d1d1acb..cae56a404 100644
--- a/apps/web/app/api/ipfs/route.ts
+++ b/apps/web/app/api/ipfs/route.ts
@@ -37,7 +37,7 @@ export async function POST(req: NextRequest) {
} catch (error) {
return NextResponse.json(
{ message: "Error uploading json to IPFS" },
- { status: 500 }
+ { status: 500 },
);
}
} else if (contentType?.startsWith("multipart/form-data")) {
diff --git a/apps/web/components/Communities.tsx b/apps/web/components/Communities.tsx
index 44d76b3d6..8ab6a4046 100644
--- a/apps/web/components/Communities.tsx
+++ b/apps/web/components/Communities.tsx
@@ -44,7 +44,7 @@ export function Communities({
if (!community?.members) {
return false;
}
- for (let member of community?.members) {
+ for (let member of community?.members ?? []) {
if (member?.memberAddress?.toLowerCase() === address?.toLowerCase()) {
return true;
}
diff --git a/apps/web/components/EthAddress.tsx b/apps/web/components/EthAddress.tsx
index f071b3438..3bc1a1383 100644
--- a/apps/web/components/EthAddress.tsx
+++ b/apps/web/components/EthAddress.tsx
@@ -1,9 +1,9 @@
"use client";
-import React from "react";
-import { Addreth } from "addreth";
import { Address } from "viem";
-import { chainDataMap } from "@/configs/chainServer";
+import { Addreth } from "addreth";
import LoadingSpinner from "./LoadingSpinner";
+import React from "react";
+import { chainDataMap } from "@/configs/chainServer";
import useChainFromPath from "@/hooks/useChainFromPath";
type EthAddressProps = {
diff --git a/apps/web/hooks/useViemClient.tsx b/apps/web/hooks/useViemClient.tsx
index 1b0e5d1e1..fc65ef206 100644
--- a/apps/web/hooks/useViemClient.tsx
+++ b/apps/web/hooks/useViemClient.tsx
@@ -8,7 +8,7 @@ export const useViemClient = function () {
const chainFromPath = useChainFromPath();
const chainId = useChainId();
const chain = chainFromPath ?? getChain(chainId);
-
+
const [viemClient, setViemClient] = useState(
createPublicClient({
chain,
diff --git a/apps/web/package.json b/apps/web/package.json
index d2468c53e..61ff52857 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -44,7 +44,10 @@
"@babel/core": "^7.20.12",
"@babel/eslint-parser": "^7.23.3",
"@babel/preset-env": "^7.23.5",
+ "@eslint/js": "^9.6.0",
"@ianvs/prettier-plugin-sort-imports": "^4.1.1",
+ "@stylistic/eslint-plugin": "^2.3.0",
+ "@types/eslint__js": "^8.42.3",
"@types/lodash-es": "^4.17.12",
"@types/node": "^17.0.12",
"@types/react": "^18.0.22",
@@ -55,10 +58,9 @@
"@wagmi/cli": "1.5.2",
"autoprefixer": "^10.4.16",
"daisyui": "^4.4.20",
- "eslint": "^8.55.0",
- "eslint-config-custom": "workspace:*",
+ "eslint": "^8.57.0",
"eslint-config-next": "13.0.0",
- "eslint-config-prettier": "^8.3.0",
+ "eslint-config-prettier": "^8.10.0",
"eslint-plugin-html": "^7.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.0.1",
@@ -70,6 +72,7 @@
"prettier-plugin-tailwindcss": "^0.5.7",
"tailwindcss": "^3.3.6",
"tsconfig": "workspace:*",
- "typescript": "5.2"
+ "typescript": "~5.2.2",
+ "typescript-eslint": "^7.16.0"
}
}
\ No newline at end of file
diff --git a/apps/web/prettier.config.js b/apps/web/prettier.config.js
index ca28ed9e4..39942a32f 100644
--- a/apps/web/prettier.config.js
+++ b/apps/web/prettier.config.js
@@ -1,6 +1,11 @@
/** @type {import("prettier").Config} */
const config = {
plugins: [require.resolve("prettier-plugin-tailwindcss")],
+ experimentalTernaries: true,
+ jsxSingleQuote: false,
+ singleQuote: false,
+ trailingComma: "all",
+
};
module.exports = config;
diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json
index 30a52d95e..1350553c6 100644
--- a/apps/web/tsconfig.json
+++ b/apps/web/tsconfig.json
@@ -1,7 +1,11 @@
{
"compilerOptions": {
"target": "ES2022",
- "lib": ["dom", "dom.iterable", "esnext"],
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
@@ -19,8 +23,12 @@
}
],
"paths": {
- "@/*": ["./*"],
- "#/*": ["./../../pkg/*"]
+ "@/*": [
+ "./*"
+ ],
+ "#/*": [
+ "./../../pkg/*"
+ ]
}
},
"include": [
@@ -28,7 +36,10 @@
"**/*.ts",
"**/*.tsx",
".next/types/**/*.ts",
- "prettier.config.js"
+ "prettier.config.js",
+ ".eslintrc.js",
],
- "exclude": ["node_modules"]
-}
+ "exclude": [
+ "node_modules"
+ ]
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 614ef7d23..c3e5fb943 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -160,9 +160,18 @@ importers:
'@babel/preset-env':
specifier: ^7.23.5
version: 7.24.7(@babel/core@7.24.7)
+ '@eslint/js':
+ specifier: ^9.6.0
+ version: 9.6.0
'@ianvs/prettier-plugin-sort-imports':
specifier: ^4.1.1
version: 4.2.1(prettier@3.3.2)
+ '@stylistic/eslint-plugin':
+ specifier: ^2.3.0
+ version: 2.3.0(eslint@8.57.0)(typescript@5.2.2)
+ '@types/eslint__js':
+ specifier: ^8.42.3
+ version: 8.42.3
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
@@ -194,16 +203,13 @@ importers:
specifier: ^4.4.20
version: 4.12.2(postcss@8.4.38)
eslint:
- specifier: ^8.55.0
+ specifier: ^8.57.0
version: 8.57.0
- eslint-config-custom:
- specifier: workspace:*
- version: link:../../pkg/eslint-config-custom
eslint-config-next:
specifier: 13.0.0
version: 13.0.0(eslint@8.57.0)(typescript@5.2.2)
eslint-config-prettier:
- specifier: ^8.3.0
+ specifier: ^8.10.0
version: 8.10.0(eslint@8.57.0)
eslint-plugin-html:
specifier: ^7.1.0
@@ -239,8 +245,11 @@ importers:
specifier: workspace:*
version: link:../../pkg/tsconfig
typescript:
- specifier: '5.2'
+ specifier: ~5.2.2
version: 5.2.2
+ typescript-eslint:
+ specifier: ^7.16.0
+ version: 7.16.0(eslint@8.57.0)(typescript@5.2.2)
pkg/contracts: {}
@@ -2371,6 +2380,11 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /@eslint/js@9.6.0:
+ resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: true
+
/@ethereumjs/common@3.2.0:
resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==}
dependencies:
@@ -5073,6 +5087,77 @@ packages:
'@stablelib/random': 1.0.2
'@stablelib/wipe': 1.0.1
+ /@stylistic/eslint-plugin-js@2.3.0(eslint@8.57.0):
+ resolution: {integrity: sha512-lQwoiYb0Fs6Yc5QS3uT8+T9CPKK2Eoxc3H8EnYJgM26v/DgtW+1lvy2WNgyBflU+ThShZaHm3a6CdD9QeKx23w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@types/eslint': 8.56.10
+ acorn: 8.12.0
+ eslint: 8.57.0
+ eslint-visitor-keys: 4.0.0
+ espree: 10.1.0
+ dev: true
+
+ /@stylistic/eslint-plugin-jsx@2.3.0(eslint@8.57.0):
+ resolution: {integrity: sha512-tsQ0IEKB195H6X9A4iUSgLLLKBc8gUBWkBIU8tp1/3g2l8stu+PtMQVV/VmK1+3bem5FJCyvfcZIQ/WF1fsizA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.3.0(eslint@8.57.0)
+ '@types/eslint': 8.56.10
+ eslint: 8.57.0
+ estraverse: 5.3.0
+ picomatch: 4.0.2
+ dev: true
+
+ /@stylistic/eslint-plugin-plus@2.3.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-xboPWGUU5yaPlR+WR57GwXEuY4PSlPqA0C3IdNA/+1o2MuBi95XgDJcZiJ9N+aXsqBXAPIpFFb+WQ7QEHo4f7g==}
+ peerDependencies:
+ eslint: '*'
+ dependencies:
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ eslint: 8.57.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@stylistic/eslint-plugin-ts@2.3.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-wqOR38/uz/0XPnHX68ftp8sNMSAqnYGjovOTN7w00xnjS6Lxr3Sk7q6AaxWWqbMvOj7V2fQiMC5HWAbTruJsCg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.3.0(eslint@8.57.0)
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ eslint: 8.57.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@stylistic/eslint-plugin@2.3.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-rtiz6u5gRyyEZp36FcF1/gHJbsbT3qAgXZ1qkad6Nr/xJ9wrSJkiSFFQhpYVTIZ7FJNRJurEcumZDCwN9dEI4g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 2.3.0(eslint@8.57.0)
+ '@stylistic/eslint-plugin-jsx': 2.3.0(eslint@8.57.0)
+ '@stylistic/eslint-plugin-plus': 2.3.0(eslint@8.57.0)(typescript@5.2.2)
+ '@stylistic/eslint-plugin-ts': 2.3.0(eslint@8.57.0)(typescript@5.2.2)
+ '@types/eslint': 8.56.10
+ eslint: 8.57.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
/@swc/helpers@0.5.2:
resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
dependencies:
@@ -5329,6 +5414,23 @@ packages:
dependencies:
'@types/ms': 0.7.34
+ /@types/eslint@8.56.10:
+ resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+ dev: true
+
+ /@types/eslint__js@8.42.3:
+ resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==}
+ dependencies:
+ '@types/eslint': 8.56.10
+ dev: true
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
/@types/form-data@0.0.33:
resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==}
dependencies:
@@ -5538,6 +5640,33 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@6.18.2-alpha.2)(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': 6.18.2-alpha.2
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.10.1
+ '@typescript-eslint/parser': 6.18.2-alpha.2(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/scope-manager': 7.16.0
+ '@typescript-eslint/type-utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 7.16.0
+ eslint: 8.57.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/parser@6.18.2-alpha.2(eslint@8.57.0)(typescript@5.2.2):
resolution: {integrity: sha512-YlxNqeFSeBhNCfHqHyCWnmD6+nl4Pv01+NFOXE8KOJJ2we5OG/qxQ7CvCLE/O4WyBlGn7uEJ4Chq3+mjSg7x5w==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5596,6 +5725,14 @@ packages:
'@typescript-eslint/visitor-keys': 6.21.0
dev: true
+ /@typescript-eslint/scope-manager@7.16.0:
+ resolution: {integrity: sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.16.0
+ '@typescript-eslint/visitor-keys': 7.16.0
+ dev: true
+
/@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.2.2):
resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5616,6 +5753,26 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/type-utils@7.16.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.2.2)
+ '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ debug: 4.3.5
+ eslint: 8.57.0
+ ts-api-utils: 1.3.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/types@6.18.2-alpha.2:
resolution: {integrity: sha512-Yh8XGKEw/131g0ISmFpuVS1LDzZxUXWwQuE36AAh4pP0Kq30Bm/8UT5VCv4uj8cJ6f9b304PKCdv2BgFHhDifA==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5626,6 +5783,11 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
+ /@typescript-eslint/types@7.16.0:
+ resolution: {integrity: sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dev: true
+
/@typescript-eslint/typescript-estree@6.18.2-alpha.2(typescript@5.2.2):
resolution: {integrity: sha512-SSAV4Awyxvl1kxEUGLwUjAeJB/XcLCy2kipMuD1I+85vDfUDR8sHdehWyJ8M3OHCq3HuqSY4WW+W42AzLDGCFw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5692,6 +5854,28 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/typescript-estree@7.16.0(typescript@5.2.2):
+ resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 7.16.0
+ '@typescript-eslint/visitor-keys': 7.16.0
+ debug: 4.3.5
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.4
+ semver: 7.6.2
+ ts-api-utils: 1.3.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.2.2):
resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5711,6 +5895,22 @@ packages:
- typescript
dev: true
+ /@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@typescript-eslint/scope-manager': 7.16.0
+ '@typescript-eslint/types': 7.16.0
+ '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.2.2)
+ eslint: 8.57.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
/@typescript-eslint/visitor-keys@6.18.2-alpha.2:
resolution: {integrity: sha512-XEtQqpsrfdC40ir8OZHnZSReWL7jIQVpy+uR1dabIVA2fJmhmdoTOT+Kbzp0Xi/CZ1BD2hBQL9MC96HNuLI9lw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -5727,6 +5927,14 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
+ /@typescript-eslint/visitor-keys@7.16.0:
+ resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dependencies:
+ '@typescript-eslint/types': 7.16.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
@@ -9212,6 +9420,11 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /eslint-visitor-keys@4.0.0:
+ resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dev: true
+
/eslint@7.32.0:
resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -9308,6 +9521,15 @@ packages:
- supports-color
dev: true
+ /espree@10.1.0:
+ resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ dependencies:
+ acorn: 8.12.0
+ acorn-jsx: 5.3.2(acorn@8.12.0)
+ eslint-visitor-keys: 4.0.0
+ dev: true
+
/espree@7.3.1:
resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -13151,6 +13373,11 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
+ /picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+ dev: true
+
/pify@2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -15242,6 +15469,25 @@ packages:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
dev: false
+ /typescript-eslint@7.16.0(eslint@8.57.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-kaVRivQjOzuoCXU6+hLnjo3/baxyzWVO5GrnExkFzETRYJKVHYkrJglOu2OCm8Hi9RPDWX1PTNNTpU5KRV0+RA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 7.16.0(@typescript-eslint/parser@6.18.2-alpha.2)(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.18.2-alpha.2(eslint@8.57.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.2.2)
+ eslint: 8.57.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/typescript@4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}