From 270af11cef72c1a320aae22b522c6c9a8221f349 Mon Sep 17 00:00:00 2001 From: Corantin Date: Wed, 10 Jul 2024 15:53:27 -0400 Subject: [PATCH] Fix eslint crashing --- .eslintrc.js | 9 +- .vscode/settings.json | 4 +- apps/web/.eslintrc.js | 49 +++- apps/web/.vscode/settings.json | 9 + .../[chain]/[garden]/[community]/page.tsx | 14 +- apps/web/app/api/ipfs/route.ts | 2 +- apps/web/components/Communities.tsx | 2 +- apps/web/components/EthAddress.tsx | 6 +- apps/web/hooks/useViemClient.tsx | 2 +- apps/web/package.json | 11 +- apps/web/prettier.config.js | 5 + apps/web/tsconfig.json | 23 +- pnpm-lock.yaml | 258 +++++++++++++++++- 13 files changed, 352 insertions(+), 42 deletions(-) create mode 100644 apps/web/.vscode/settings.json 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'}