diff --git a/.changeset/friendly-chefs-tease.md b/.changeset/friendly-chefs-tease.md new file mode 100644 index 0000000000..225e3a69bc --- /dev/null +++ b/.changeset/friendly-chefs-tease.md @@ -0,0 +1,6 @@ +--- +"@latticexyz/cli": patch +"create-mud": patch +--- + +Bumped `typescript` to `5.4.2`, `eslint` to `8.57.0`, and both `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser` to `7.1.1`. diff --git a/docs/package.json b/docs/package.json index a3b4c30688..a1b0a4430a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^18.0.11", "autoprefixer": "^10.4.16", "postcss": "^8.4.31", - "typescript": "5.1.6" + "typescript": "5.4.2" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index c2f0b23412..ea9c3d4d64 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -46,8 +46,8 @@ importers: specifier: ^8.4.31 version: 8.4.31 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages: @@ -3049,8 +3049,8 @@ packages: engines: {node: '>=10'} dev: false - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true dev: true diff --git a/e2e/packages/client-vanilla/src/index.ts b/e2e/packages/client-vanilla/src/index.ts index 7899f3c949..44edec539f 100644 --- a/e2e/packages/client-vanilla/src/index.ts +++ b/e2e/packages/client-vanilla/src/index.ts @@ -6,6 +6,7 @@ const { network: { components, latestBlock$, worldContract, waitForTransaction }, } = await setup(); +// eslint-disable-next-line @typescript-eslint/no-explicit-any const _window = window as any; _window.worldContract = worldContract; _window.waitForTransaction = waitForTransaction; diff --git a/e2e/packages/client-vanilla/src/mud/createSystemCalls.ts b/e2e/packages/client-vanilla/src/mud/createSystemCalls.ts index ea6409b5f2..40ea50e749 100644 --- a/e2e/packages/client-vanilla/src/mud/createSystemCalls.ts +++ b/e2e/packages/client-vanilla/src/mud/createSystemCalls.ts @@ -1,9 +1,6 @@ -import { ClientComponents } from "./createClientComponents"; -import { SetupNetworkResult } from "./setupNetwork"; - export type SystemCalls = ReturnType; -export function createSystemCalls(network: SetupNetworkResult, components: ClientComponents) { +export function createSystemCalls() { return { // TODO }; diff --git a/e2e/packages/client-vanilla/src/mud/setup.ts b/e2e/packages/client-vanilla/src/mud/setup.ts index 4f79edd8f3..8daa3eb893 100644 --- a/e2e/packages/client-vanilla/src/mud/setup.ts +++ b/e2e/packages/client-vanilla/src/mud/setup.ts @@ -7,7 +7,7 @@ export type SetupResult = Awaited>; export async function setup() { const network = await setupNetwork(); const components = createClientComponents(network); - const systemCalls = createSystemCalls(network, components); + const systemCalls = createSystemCalls(); return { network, components, diff --git a/e2e/packages/contracts/package.json b/e2e/packages/contracts/package.json index 3f1b229fb3..d3d967f4f6 100644 --- a/e2e/packages/contracts/package.json +++ b/e2e/packages/contracts/package.json @@ -21,7 +21,7 @@ "forge-std": "https://github.com/foundry-rs/forge-std.git#74cfb77e308dd188d2f58864aaf44963ae6b88b1", "prettier": "3.2.5", "rimraf": "^3.0.2", - "typescript": "5.1.6", + "typescript": "5.4.2", "vite": "^4.2.1", "vitest": "0.34.6" } diff --git a/e2e/packages/sync-test/data/callPageFunction.ts b/e2e/packages/sync-test/data/callPageFunction.ts index 89a9c395a4..85484d6431 100644 --- a/e2e/packages/sync-test/data/callPageFunction.ts +++ b/e2e/packages/sync-test/data/callPageFunction.ts @@ -12,9 +12,9 @@ export async function callPageFunction( args: unknown[], ): Promise | undefined> { const context = [functionName, args, serialize.toString(), deserialize.toString()] as const; - const serializedValue = await page.evaluate(async ([functionName, args, serializeString, deserializeString]) => { + const serializedValue = await page.evaluate(async ([functionName, args, serializeString]) => { const _serialize = deserializeFunction(serializeString); - const _deserialize = deserializeFunction(deserializeString); + // eslint-disable-next-line @typescript-eslint/no-explicit-any const value = await (window as any)[functionName](...args); const serializedValue = value ? _serialize(value) : undefined; return serializedValue; diff --git a/e2e/packages/sync-test/data/callWorld.ts b/e2e/packages/sync-test/data/callWorld.ts index c6b58c04c6..d767517bca 100644 --- a/e2e/packages/sync-test/data/callWorld.ts +++ b/e2e/packages/sync-test/data/callWorld.ts @@ -14,7 +14,9 @@ type WriteArgs = AbiParametersToPrimitiveTypes< export function callWorld(page: Page, method: TMethod, args?: WriteArgs) { return page.evaluate( ([_method, _args]) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const worldContract = (window as any).worldContract as WorldContract; + // eslint-disable-next-line @typescript-eslint/no-explicit-any const writeMethod = worldContract.write[_method as any]; return writeMethod(_args) .then((tx) => window["waitForTransaction"](tx)) diff --git a/e2e/packages/sync-test/package.json b/e2e/packages/sync-test/package.json index b7478f5864..d577e6bee5 100644 --- a/e2e/packages/sync-test/package.json +++ b/e2e/packages/sync-test/package.json @@ -27,7 +27,7 @@ "execa": "^7.1.1", "happy-dom": "^12.10.3", "postgres": "3.3.5", - "typescript": "5.1.6", + "typescript": "5.4.2", "viem": "2.7.12", "vite": "^4.2.1", "vitest": "0.34.6", diff --git a/e2e/packages/test-data/package.json b/e2e/packages/test-data/package.json index f44e8e616b..5856e7f5c4 100644 --- a/e2e/packages/test-data/package.json +++ b/e2e/packages/test-data/package.json @@ -17,7 +17,7 @@ "@viem/anvil": "^0.0.6", "execa": "^7.1.1", "tsx": "^3.12.6", - "typescript": "5.1.6", + "typescript": "5.4.2", "viem": "2.7.12" } } diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index cce221a655..05cda99868 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -73,7 +73,7 @@ importers: version: 1.7.0 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.22.2) + version: 2.7.12(typescript@5.4.2)(zod@3.22.2) devDependencies: rimraf: specifier: ^3.0.2 @@ -118,8 +118,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 vite: specifier: ^4.2.1 version: 4.3.5(@types/node@20.1.3) @@ -158,7 +158,7 @@ importers: version: 0.0.6 abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.22.2) + version: 1.0.0(typescript@5.4.2)(zod@3.22.2) chalk: specifier: ^5.2.0 version: 5.2.0 @@ -178,11 +178,11 @@ importers: specifier: 3.3.5 version: 3.3.5 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.22.2) + version: 2.7.12(typescript@5.4.2)(zod@3.22.2) vite: specifier: ^4.2.1 version: 4.3.5(@types/node@20.1.3) @@ -217,11 +217,11 @@ importers: specifier: ^3.12.6 version: 3.12.6 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.22.2) + version: 2.7.12(typescript@5.4.2)(zod@3.22.2) packages: @@ -836,7 +836,7 @@ packages: pretty-format: 29.7.0 dev: true - /abitype@1.0.0(typescript@5.1.6)(zod@3.22.2): + /abitype@1.0.0(typescript@5.4.2)(zod@3.22.2): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -847,7 +847,7 @@ packages: zod: optional: true dependencies: - typescript: 5.1.6 + typescript: 5.4.2 zod: 3.22.2 /abort-controller-x@0.4.1: @@ -1749,8 +1749,8 @@ packages: engines: {node: '>=4'} dev: true - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -1762,7 +1762,7 @@ packages: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} dev: true - /viem@2.7.12(typescript@5.1.6)(zod@3.22.2): + /viem@2.7.12(typescript@5.4.2)(zod@3.22.2): resolution: {integrity: sha512-NbV+Bycw0I4X8y6A04mgJ6+Imt7xXwflgnqisR3JXoJRNc77YSaQCscFN/dmwGLESTkgegJvi+j4nZY32GTpwQ==} peerDependencies: typescript: '>=5.0.4' @@ -1775,9 +1775,9 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.1.6)(zod@3.22.2) + abitype: 1.0.0(typescript@5.4.2)(zod@3.22.2) isows: 1.0.3(ws@8.13.0) - typescript: 5.1.6 + typescript: 5.4.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 4071e0efbb..c7607d5dd5 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -15,11 +15,11 @@ }, "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/examples/minimal/packages/client-phaser/package.json b/examples/minimal/packages/client-phaser/package.json index b3aa74ab22..461a749e15 100644 --- a/examples/minimal/packages/client-phaser/package.json +++ b/examples/minimal/packages/client-phaser/package.json @@ -43,10 +43,10 @@ "@types/react": "18.2.22", "@types/react-dom": "18.2.7", "@types/styled-components": "^5.1.26", - "@typescript-eslint/eslint-plugin": "^5.46.1", - "@typescript-eslint/parser": "^5.46.1", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", "@vitejs/plugin-react": "^3.1.0", - "eslint": "^8.29.0", - "typescript": "5.1.6" + "eslint": "8.57.0", + "typescript": "5.4.2" } } diff --git a/examples/minimal/packages/client-phaser/src/ui/Wrapper.tsx b/examples/minimal/packages/client-phaser/src/ui/Wrapper.tsx index 5cc66f3d28..3de7eb15de 100644 --- a/examples/minimal/packages/client-phaser/src/ui/Wrapper.tsx +++ b/examples/minimal/packages/client-phaser/src/ui/Wrapper.tsx @@ -1,4 +1,3 @@ -import React from "react"; import styled from "styled-components"; export const Wrapper = styled.div` diff --git a/examples/minimal/packages/client-phaser/src/ui/hooks/useNetworkLayer.tsx b/examples/minimal/packages/client-phaser/src/ui/hooks/useNetworkLayer.tsx index 139c457234..e2e13ab01a 100644 --- a/examples/minimal/packages/client-phaser/src/ui/hooks/useNetworkLayer.tsx +++ b/examples/minimal/packages/client-phaser/src/ui/hooks/useNetworkLayer.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo } from "react"; +import { useEffect, useMemo } from "react"; import { createNetworkLayer } from "../../layers/network/createNetworkLayer"; import { usePromiseValue } from "./usePromiseValue"; diff --git a/examples/minimal/packages/client-phaser/src/ui/hooks/usePhaserLayer.tsx b/examples/minimal/packages/client-phaser/src/ui/hooks/usePhaserLayer.tsx index c6292e57ff..6dafcd74de 100644 --- a/examples/minimal/packages/client-phaser/src/ui/hooks/usePhaserLayer.tsx +++ b/examples/minimal/packages/client-phaser/src/ui/hooks/usePhaserLayer.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import useResizeObserver, { ResizeHandler } from "use-resize-observer"; import { throttle } from "lodash"; import { createPhaserLayer } from "../../layers/phaser/createPhaserLayer"; diff --git a/examples/minimal/packages/client-react/src/mud/setupNetwork.ts b/examples/minimal/packages/client-react/src/mud/setupNetwork.ts index 9a27f78768..c26d4fe250 100644 --- a/examples/minimal/packages/client-react/src/mud/setupNetwork.ts +++ b/examples/minimal/packages/client-react/src/mud/setupNetwork.ts @@ -1,5 +1,4 @@ -import { createPublicClient, fallback, webSocket, http, createWalletClient, Hex, parseEther, ClientConfig } from "viem"; -import { createFaucetService } from "@latticexyz/services/faucet"; +import { createPublicClient, fallback, webSocket, http, createWalletClient, Hex, ClientConfig } from "viem"; import { encodeEntity, syncToRecs } from "@latticexyz/store-sync/recs"; import { getNetworkConfig } from "./getNetworkConfig"; import { world } from "./world"; diff --git a/examples/minimal/packages/client-vanilla/src/index.ts b/examples/minimal/packages/client-vanilla/src/index.ts index a0aa64edca..30ecd18d1b 100644 --- a/examples/minimal/packages/client-vanilla/src/index.ts +++ b/examples/minimal/packages/client-vanilla/src/index.ts @@ -1,9 +1,17 @@ import { setup } from "./mud/setup"; import mudConfig from "contracts/mud.config"; +declare global { + interface Window { + increment: () => Promise; + willRevert: () => Promise; + sendMessage: () => Promise; + } +} + const { network, - network: { tables, useStore, worldContract, waitForTransaction }, + network: { tables, useStore, worldContract }, systemCalls, } = await setup(); @@ -25,19 +33,19 @@ useStore.subscribe((state, prevState) => { // Just for demonstration purposes: we create a global function that can be // called to invoke the Increment system contract via the world. (See IncrementSystem.sol.) -(window as any).increment = async () => { +window.increment = async () => { const result = await systemCalls.increment(); console.log("increment result", result); }; -(window as any).willRevert = async () => { +window.willRevert = async () => { // set gas limit so we skip estimation and can test tx revert const tx = await worldContract.write.willRevert({ gas: 100000n }); console.log("willRevert tx", tx); }; -(window as any).sendMessage = async () => { +window.sendMessage = async () => { const input = document.getElementById("chat-input") as HTMLInputElement; const msg = input.value; if (!msg || msg.length === 0) return; @@ -51,7 +59,7 @@ useStore.subscribe((state, prevState) => { document.getElementById("chat-form")?.addEventListener("submit", (e) => { e.preventDefault(); - (window as any).sendMessage(); + window.sendMessage(); }); // https://vitejs.dev/guide/env-and-mode.html diff --git a/examples/minimal/packages/contracts/package.json b/examples/minimal/packages/contracts/package.json index 7d49c273a0..cb4a8c3286 100644 --- a/examples/minimal/packages/contracts/package.json +++ b/examples/minimal/packages/contracts/package.json @@ -34,6 +34,6 @@ "solhint-config-mud": "file:../../../../packages/solhint-config-mud", "solhint-plugin-mud": "file:../../../../packages/solhint-plugin-mud", "ts-node": "^10.9.1", - "typescript": "5.1.6" + "typescript": "5.4.2" } } diff --git a/examples/minimal/packages/plugin-example/package.json b/examples/minimal/packages/plugin-example/package.json index f21d04ca18..9e1558d858 100644 --- a/examples/minimal/packages/plugin-example/package.json +++ b/examples/minimal/packages/plugin-example/package.json @@ -36,6 +36,6 @@ "@types/node": "^18.15.11", "rimraf": "^3.0.2", "tsup": "^6.7.0", - "typescript": "5.1.6" + "typescript": "5.4.2" } } diff --git a/examples/minimal/pnpm-lock.yaml b/examples/minimal/pnpm-lock.yaml index 273a796471..cea4da108b 100644 --- a/examples/minimal/pnpm-lock.yaml +++ b/examples/minimal/pnpm-lock.yaml @@ -12,20 +12,20 @@ importers: specifier: link:../../packages/cli version: link:../../packages/cli '@typescript-eslint/eslint-plugin': - specifier: 5.46.1 - version: 5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: 5.46.1 - version: 5.46.1(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) eslint: - specifier: 8.29.0 - version: 8.29.0 + specifier: 8.57.0 + version: 8.57.0 mprocs: specifier: ^0.6.4 version: 0.6.4 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages/client-phaser: dependencies: @@ -106,7 +106,7 @@ importers: version: 9.1.0(react-dom@18.2.0)(react@18.2.0) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6) + version: 2.7.12(typescript@5.4.2) vite: specifier: ^4.2.1 version: 4.2.1 @@ -124,20 +124,20 @@ importers: specifier: ^5.1.26 version: 5.1.26 '@typescript-eslint/eslint-plugin': - specifier: ^5.46.1 - version: 5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: ^5.46.1 - version: 5.46.1(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) '@vitejs/plugin-react': specifier: ^3.1.0 version: 3.1.0(vite@4.2.1) eslint: - specifier: ^8.29.0 - version: 8.29.0 + specifier: 8.57.0 + version: 8.57.0 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages/client-react: dependencies: @@ -209,7 +209,7 @@ importers: version: 1.7.0 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6) + version: 2.7.12(typescript@5.4.2) devDependencies: '@types/react': specifier: 18.2.22 @@ -222,10 +222,10 @@ importers: version: 3.1.0(vite@4.2.1) eslint-plugin-react: specifier: 7.31.11 - version: 7.31.11(eslint@8.29.0) + version: 7.31.11(eslint@8.57.0) eslint-plugin-react-hooks: specifier: 4.6.0 - version: 4.6.0(eslint@8.29.0) + version: 4.6.0(eslint@8.57.0) vite: specifier: ^4.2.1 version: 4.2.1 @@ -294,7 +294,7 @@ importers: version: 1.7.0 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6) + version: 2.7.12(typescript@5.4.2) devDependencies: vite: specifier: ^4.2.1 @@ -358,10 +358,10 @@ importers: version: file:../../packages/solhint-plugin-mud ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.15.11)(typescript@5.1.6) + version: 10.9.1(@types/node@18.15.11)(typescript@5.4.2) typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages/plugin-example: dependencies: @@ -389,13 +389,18 @@ importers: version: 3.0.2 tsup: specifier: ^6.7.0 - version: 6.7.0(typescript@5.1.6) + version: 6.7.0(typescript@5.4.2) typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: false @@ -822,13 +827,28 @@ packages: requiresBuild: true optional: true - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@5.5.0) - espree: 9.5.1 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -839,6 +859,11 @@ packages: - supports-color dev: true + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@grpc/grpc-js@1.8.14: resolution: {integrity: sha512-w84maJ6CKl5aApCMzFll0hxtFNT6or9WwMslobKaqWUEf1K+zhlL43bSQhFreyYWIWR+Z0xnVFC1KtLm4ZpM/A==} engines: {node: ^8.13.0 || >=10.10.0} @@ -859,11 +884,11 @@ packages: yargs: 16.2.0 dev: false - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: @@ -875,8 +900,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@improbable-eng/grpc-web@0.15.0(google-protobuf@3.21.2): @@ -1081,8 +1106,8 @@ packages: hoist-non-react-statics: 3.3.2 dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/long@4.0.2: @@ -1114,8 +1139,8 @@ packages: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} dev: true - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true /@types/styled-components@5.1.26: @@ -1126,133 +1151,140 @@ packages: csstype: 3.1.2 dev: true - /@typescript-eslint/eslint-plugin@5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/type-utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4(supports-color@5.5.0) - eslint: 8.29.0 + eslint: 8.57.0 + graphemer: 1.4.0 ignore: 5.2.4 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4(supports-color@5.5.0) - eslint: 8.29.0 - typescript: 5.1.6 + eslint: 8.57.0 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.46.1: - resolution: {integrity: sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.1.1: + resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 dev: true - /@typescript-eslint/type-utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4(supports-color@5.5.0) - eslint: 8.29.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.46.1: - resolution: {integrity: sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@7.1.1: + resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.46.1(typescript@5.1.6): - resolution: {integrity: sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): + resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - eslint: 8.29.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.29.0) - semver: 7.5.0 + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.46.1: - resolution: {integrity: sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@7.1.1: + resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 - eslint-visitor-keys: 3.4.0 + '@typescript-eslint/types': 7.1.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /@use-gesture/core@10.2.9: @@ -1281,7 +1313,7 @@ packages: - supports-color dev: true - /abitype@1.0.0(typescript@5.1.6): + /abitype@1.0.0(typescript@5.4.2): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -1292,19 +1324,19 @@ packages: zod: optional: true dependencies: - typescript: 5.1.6 + typescript: 5.4.2 dev: false /abort-controller-x@0.4.1: resolution: {integrity: sha512-lJ2ssrl3FoTK3cX/g15lRCkXFWKiwRTRtBjfwounO2EM/Q65rI/MEZsfsch1juWU2pH2aLSaq0HGowlDP/imrw==} dev: false - /acorn-jsx@5.3.2(acorn@8.8.2): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.11.3 dev: true /acorn-walk@8.2.0: @@ -1312,6 +1344,12 @@ packages: engines: {node: '>=0.4.0'} dev: true + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -1827,16 +1865,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.29.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.29.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.31.11(eslint@8.29.0): + /eslint-plugin-react@7.31.11(eslint@8.57.0): resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: @@ -1846,7 +1884,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.29.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -1860,61 +1898,41 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.29.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.29.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.29.0: - resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-utils: 3.0.0(eslint@8.29.0) - eslint-visitor-keys: 3.4.0 - espree: 9.5.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1922,23 +1940,19 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 - regexpp: 3.2.0 + optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -1951,13 +1965,13 @@ packages: dev: false optional: true - /espree@9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.0 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 dev: true /esquery@1.5.0: @@ -1974,11 +1988,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2227,8 +2236,8 @@ packages: get-intrinsic: 1.2.0 dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /has-bigints@1.0.2: @@ -2485,10 +2494,6 @@ packages: resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} dev: false - /js-sdsl@4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2655,6 +2660,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /mobx@6.7.0: resolution: {integrity: sha512-1kBLBdSNG2bA522HQdbsTvwAwYf9hq9FWxmlhX7wTsJUAI54907J+ozfGW+LoYUo06vjit748g6QH1AAGLNebw==} dev: false @@ -2681,10 +2693,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -2805,16 +2813,16 @@ packages: mimic-fn: 2.1.0 dev: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /p-limit@3.1.0: @@ -3038,11 +3046,6 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3130,14 +3133,6 @@ packages: hasBin: true dev: true - /semver@7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -3419,6 +3414,15 @@ packages: hasBin: true dev: true + /ts-api-utils@1.2.1(typescript@5.4.2): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.2 + dev: true + /ts-error@1.0.6: resolution: {integrity: sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==} dev: false @@ -3427,7 +3431,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-node@10.9.1(@types/node@18.15.11)(typescript@5.1.6): + /ts-node@10.9.1(@types/node@18.15.11)(typescript@5.4.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -3453,20 +3457,16 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.6 + typescript: 5.4.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: false - /tsup@6.7.0(typescript@5.1.6): + /tsup@6.7.0(typescript@5.4.2): resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -3496,22 +3496,12 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.32.0 tree-kill: 1.2.2 - typescript: 5.1.6 + typescript: 5.4.2 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils@3.21.0(typescript@5.1.6): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.6 - dev: true - /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3532,8 +3522,8 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -3586,7 +3576,7 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /viem@2.7.12(typescript@5.1.6): + /viem@2.7.12(typescript@5.4.2): resolution: {integrity: sha512-NbV+Bycw0I4X8y6A04mgJ6+Imt7xXwflgnqisR3JXoJRNc77YSaQCscFN/dmwGLESTkgegJvi+j4nZY32GTpwQ==} peerDependencies: typescript: '>=5.0.4' @@ -3599,9 +3589,9 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.1.6) + abitype: 1.0.0(typescript@5.4.2) isows: 1.0.3(ws@8.13.0) - typescript: 5.1.6 + typescript: 5.4.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -3695,11 +3685,6 @@ packages: isexe: 2.0.0 dev: true - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} diff --git a/examples/multiple-accounts/package.json b/examples/multiple-accounts/package.json index 9e94423c4d..6ccff28421 100644 --- a/examples/multiple-accounts/package.json +++ b/examples/multiple-accounts/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/examples/multiple-accounts/packages/client/src/App.tsx b/examples/multiple-accounts/packages/client/src/App.tsx index d4ad3d21bf..b2c44d0e33 100644 --- a/examples/multiple-accounts/packages/client/src/App.tsx +++ b/examples/multiple-accounts/packages/client/src/App.tsx @@ -38,7 +38,7 @@ const makeWorldContract = () => { }; // Create five world contracts -const worldContracts = [1, 2, 3, 4, 5].map((x) => makeWorldContract()); +const worldContracts = [1, 2, 3, 4, 5].map(() => makeWorldContract()); export const App = () => { const { @@ -61,7 +61,7 @@ export const App = () => { // Call newCall() on LastCall:LastCallSystem. const newCall = async (worldContract) => { - const tx = await worldContract.write.LastCall_LastCallSystem_newCall(); + await worldContract.write.LastCall_LastCallSystem_newCall(); }; return ( diff --git a/examples/multiple-accounts/packages/client/src/mud/createSystemCalls.ts b/examples/multiple-accounts/packages/client/src/mud/createSystemCalls.ts index 0b8c753a67..d4a9bde221 100644 --- a/examples/multiple-accounts/packages/client/src/mud/createSystemCalls.ts +++ b/examples/multiple-accounts/packages/client/src/mud/createSystemCalls.ts @@ -3,11 +3,8 @@ * for changes in the World state (using the System contracts). */ -import { Hex } from "viem"; -import { SetupNetworkResult } from "./setupNetwork"; - export type SystemCalls = ReturnType; -export function createSystemCalls({ tables, useStore, worldContract, waitForTransaction }: SetupNetworkResult) { +export function createSystemCalls() { return {}; } diff --git a/examples/multiple-accounts/packages/client/src/mud/setup.ts b/examples/multiple-accounts/packages/client/src/mud/setup.ts index 6d07134612..4ae0c868d6 100644 --- a/examples/multiple-accounts/packages/client/src/mud/setup.ts +++ b/examples/multiple-accounts/packages/client/src/mud/setup.ts @@ -9,7 +9,7 @@ export type SetupResult = Awaited>; export async function setup() { const network = await setupNetwork(); - const systemCalls = createSystemCalls(network); + const systemCalls = createSystemCalls(); return { network, diff --git a/examples/multiple-accounts/pnpm-lock.yaml b/examples/multiple-accounts/pnpm-lock.yaml index 878afde32c..e4c5d3cd7c 100644 --- a/examples/multiple-accounts/pnpm-lock.yaml +++ b/examples/multiple-accounts/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: specifier: 4.1.7 version: 4.1.7 '@typescript-eslint/eslint-plugin': - specifier: 5.46.1 - version: 5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: 5.46.1 - version: 5.46.1(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) eslint: - specifier: 8.29.0 - version: 8.29.0 + specifier: 8.57.0 + version: 8.57.0 mprocs: specifier: ^0.6.4 version: 0.6.4 @@ -30,8 +30,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages/client: dependencies: @@ -73,7 +73,7 @@ importers: version: 7.5.5 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6) + version: 2.7.12(typescript@5.4.2) devDependencies: '@types/react': specifier: 18.2.22 @@ -86,10 +86,10 @@ importers: version: 3.1.0(vite@4.5.1) eslint-plugin-react: specifier: 7.31.11 - version: 7.31.11(eslint@8.29.0) + version: 7.31.11(eslint@8.57.0) eslint-plugin-react-hooks: specifier: 4.6.0 - version: 4.6.0(eslint@8.29.0) + version: 4.6.0(eslint@8.57.0) vite: specifier: ^4.2.1 version: 4.5.1 @@ -132,7 +132,7 @@ importers: version: 1.3.1(prettier@3.2.5) solhint: specifier: ^3.3.7 - version: 3.6.2(typescript@5.1.6) + version: 3.6.2(typescript@5.4.2) solhint-config-mud: specifier: 2.0.0-next.15 version: 2.0.0-next.15 @@ -573,8 +573,23 @@ packages: dev: true optional: true - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -590,11 +605,16 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -606,8 +626,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@jridgewell/gen-mapping@0.3.3: @@ -747,135 +767,142 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true - /@typescript-eslint/eslint-plugin@5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/type-utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 - eslint: 8.29.0 + eslint: 8.57.0 + graphemer: 1.4.0 ignore: 5.3.0 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 + natural-compare: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 - eslint: 8.29.0 - typescript: 5.1.6 + eslint: 8.57.0 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.46.1: - resolution: {integrity: sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.1.1: + resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 dev: true - /@typescript-eslint/type-utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4 - eslint: 8.29.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.46.1: - resolution: {integrity: sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@7.1.1: + resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.46.1(typescript@5.1.6): - resolution: {integrity: sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): + resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - eslint: 8.29.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.29.0) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + eslint: 8.57.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.46.1: - resolution: {integrity: sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@7.1.1: + resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 + '@typescript-eslint/types': 7.1.1 eslint-visitor-keys: 3.4.3 dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@vitejs/plugin-react@3.1.0(vite@4.5.1): resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} @@ -892,7 +919,7 @@ packages: - supports-color dev: true - /abitype@1.0.0(typescript@5.1.6): + /abitype@1.0.0(typescript@5.4.2): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -903,7 +930,7 @@ packages: zod: optional: true dependencies: - typescript: 5.1.6 + typescript: 5.4.2 dev: false /acorn-jsx@5.3.2(acorn@8.11.3): @@ -1158,7 +1185,7 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /cosmiconfig@8.3.6(typescript@5.1.6): + /cosmiconfig@8.3.6(typescript@5.4.2): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -1171,7 +1198,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.1.6 + typescript: 5.4.2 dev: true /cross-spawn@7.0.3: @@ -1370,16 +1397,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.29.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.29.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.31.11(eslint@8.29.0): + /eslint-plugin-react@7.31.11(eslint@8.57.0): resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: @@ -1389,7 +1416,7 @@ packages: array.prototype.flatmap: 1.3.2 array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 - eslint: 8.29.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -1403,14 +1430,6 @@ packages: string.prototype.matchall: 4.0.10 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1419,35 +1438,24 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.29.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.29.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.29.0: - resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.11.13 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -1455,7 +1463,6 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-utils: 3.0.0(eslint@8.29.0) eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 @@ -1465,13 +1472,11 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.24.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.3.0 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.2 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -1479,9 +1484,7 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - regexpp: 3.2.0 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -1510,11 +1513,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -1724,8 +1722,8 @@ packages: get-intrinsic: 1.2.2 dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /has-bigints@1.0.2: @@ -1950,10 +1948,6 @@ packages: ws: 8.13.0 dev: false - /js-sdsl@4.4.2: - resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2095,6 +2089,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /mprocs@0.6.4: resolution: {integrity: sha512-Y4eqnAjp3mjy0eT+zPoMQ+P/ISOzjgRG/4kh4I5cRA4Tv0rPxTCBRadn3+j+boMF5id7IoLhrVq9NFWFPuzD9A==} engines: {node: '>=0.10.0'} @@ -2111,10 +2112,6 @@ packages: hasBin: true dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -2360,11 +2357,6 @@ packages: set-function-name: 2.0.1 dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -2517,7 +2509,7 @@ packages: '@solidity-parser/parser': 0.16.2 dev: true - /solhint@3.6.2(typescript@5.1.6): + /solhint@3.6.2(typescript@5.4.2): resolution: {integrity: sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ==} hasBin: true dependencies: @@ -2527,7 +2519,7 @@ packages: ast-parents: 0.0.1 chalk: 4.1.2 commander: 10.0.1 - cosmiconfig: 8.3.6(typescript@5.1.6) + cosmiconfig: 8.3.6(typescript@5.4.2) fast-diff: 1.3.0 glob: 8.1.0 ignore: 5.3.0 @@ -2659,24 +2651,19 @@ packages: is-number: 7.0.0 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + /ts-api-utils@1.2.1(typescript@5.4.2): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.2 dev: true /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /tsutils@3.21.0(typescript@5.1.6): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.6 - dev: true - /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -2727,8 +2714,8 @@ packages: is-typed-array: 1.1.12 dev: true - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -2762,7 +2749,7 @@ packages: punycode: 2.3.1 dev: true - /viem@2.7.12(typescript@5.1.6): + /viem@2.7.12(typescript@5.4.2): resolution: {integrity: sha512-NbV+Bycw0I4X8y6A04mgJ6+Imt7xXwflgnqisR3JXoJRNc77YSaQCscFN/dmwGLESTkgegJvi+j4nZY32GTpwQ==} peerDependencies: typescript: '>=5.0.4' @@ -2775,9 +2762,9 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.1.6) + abitype: 1.0.0(typescript@5.4.2) isows: 1.0.3(ws@8.13.0) - typescript: 5.1.6 + typescript: 5.4.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil diff --git a/package.json b/package.json index c2b71a9911..19164aa0ca 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "@arktype/attest": "0.6.4", "@changesets/cli": "^2.26.1", "@types/node": "^18.15.11", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", "bun": "^1.0.11", "chalk": "^5.2.0", - "eslint": "8.29.0", + "eslint": "8.57.0", "execa": "^7.0.0", "husky": ">=6", "lint-staged": ">=10", @@ -51,7 +51,7 @@ "prettier-plugin-solidity": "1.3.1", "rimraf": "^3.0.2", "turbo": "^1.9.3", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/packages/abi-ts/src/abi-ts.ts b/packages/abi-ts/src/abi-ts.ts index a6093d52ec..9ca7f03174 100755 --- a/packages/abi-ts/src/abi-ts.ts +++ b/packages/abi-ts/src/abi-ts.ts @@ -17,7 +17,7 @@ yargs(hideBin(process.argv)) // Enable strict mode. .strict() // Custom error handler - .fail((msg, err) => { + .fail((msg) => { console.error(chalk.red(msg)); if (msg.includes("Missing required argument")) { console.log( diff --git a/packages/block-logs-stream/src/blockRangeToLogs.test.ts b/packages/block-logs-stream/src/blockRangeToLogs.test.ts index 607a8dea77..04c0bb0327 100644 --- a/packages/block-logs-stream/src/blockRangeToLogs.test.ts +++ b/packages/block-logs-stream/src/blockRangeToLogs.test.ts @@ -11,6 +11,7 @@ const mockTransport: Transport = () => createTransport({ key: "mock", name: "Mock Transport", + // eslint-disable-next-line @typescript-eslint/no-explicit-any request: mockedTransportRequest as any, type: "mock", }); @@ -25,7 +26,7 @@ describe("blockRangeToLogs", () => { }); it("processes block ranges in order", async () => { - const requests: any[] = []; + const requests: unknown[] = []; mockedTransportRequest.mockImplementation(async ({ method, params }): Promise => { requests.push(params); if (method !== "eth_getLogs") throw new Error("not implemented"); diff --git a/packages/block-logs-stream/src/fetchLogs.test.ts b/packages/block-logs-stream/src/fetchLogs.test.ts index 4bd28cb1c2..5cbbc8acf4 100644 --- a/packages/block-logs-stream/src/fetchLogs.test.ts +++ b/packages/block-logs-stream/src/fetchLogs.test.ts @@ -16,6 +16,7 @@ const mockTransport: Transport = () => createTransport({ key: "mock", name: "Mock Transport", + // eslint-disable-next-line @typescript-eslint/no-explicit-any request: mockedTransportRequest as any, type: "mock", }); @@ -30,6 +31,7 @@ describe("fetchLogs", () => { }); it("yields chunks of logs for the block range", async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const requests: any[] = []; mockedTransportRequest.mockImplementation(async ({ method, params }): Promise => { requests.push(params); @@ -136,14 +138,17 @@ describe("fetchLogs", () => { }); it("reduces block range if block range is exceeded", async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const requests: any[] = []; mockedTransportRequest.mockImplementation(async ({ method, params }): Promise => { if (method !== "eth_getLogs") throw new Error("not implemented"); requests.push(params); + // eslint-disable-next-line @typescript-eslint/no-explicit-any if (hexToNumber((params as any)[0].toBlock) - hexToNumber((params as any)[0].fromBlock) > 500) { throw new LimitExceededRpcError( new RpcRequestError({ + // eslint-disable-next-line @typescript-eslint/no-explicit-any body: (params as any)[0], url: "https://mud.dev", error: { @@ -360,6 +365,7 @@ describe("fetchLogs", () => { }); it("retries if rate limit is exceeded", async () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const requests: any[] = []; mockedTransportRequest.mockImplementation(async ({ method, params }): Promise => { if (method !== "eth_getLogs") throw new Error("not implemented"); @@ -368,6 +374,7 @@ describe("fetchLogs", () => { if (requests.length < 3) { throw new LimitExceededRpcError( new RpcRequestError({ + // eslint-disable-next-line @typescript-eslint/no-explicit-any body: (params as any)[0], url: "https://viem.sh", error: { diff --git a/packages/cli/package.json b/packages/cli/package.json index 1e02298487..b93000a3d7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -60,7 +60,7 @@ "rxjs": "7.5.5", "throttle-debounce": "^5.0.0", "toposort": "^2.0.2", - "typescript": "5.1.6", + "typescript": "5.4.2", "viem": "2.7.12", "yargs": "^17.7.1", "zod": "^3.21.4", diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 5911f68101..05684e4e56 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -15,7 +15,7 @@ const commandModule: CommandModule = { // Wrap in try/catch, because yargs seems to swallow errors try { await runDeploy(opts); - } catch (error: any) { + } catch (error) { logError(error); process.exit(1); } diff --git a/packages/cli/src/deploy/configToTables.ts b/packages/cli/src/deploy/configToTables.ts index 3e9b0e5729..43e942bbf8 100644 --- a/packages/cli/src/deploy/configToTables.ts +++ b/packages/cli/src/deploy/configToTables.ts @@ -60,7 +60,9 @@ export function configToTables(config: config): Tabl namespace: config.namespace, name: table.name, }), + // eslint-disable-next-line @typescript-eslint/no-explicit-any keySchema: resolveUserTypes(table.keySchema, userTypes) as any, + // eslint-disable-next-line @typescript-eslint/no-explicit-any valueSchema: resolveUserTypes(table.valueSchema, userTypes) as any, } satisfies Table, ]), diff --git a/packages/cli/src/mudPackages.ts b/packages/cli/src/mudPackages.ts index 8392dac891..6cd6f9bf0b 100644 --- a/packages/cli/src/mudPackages.ts +++ b/packages/cli/src/mudPackages.ts @@ -13,7 +13,7 @@ function parseEnv(): z.infer { }); } catch (error) { if (error instanceof ZodError) { - const { _errors, ...invalidEnvVars } = error.format(); + const { ...invalidEnvVars } = error.format(); console.error(`\nMissing or invalid environment variables:\n\n ${Object.keys(invalidEnvVars).join("\n ")}\n`); process.exit(1); } diff --git a/packages/cli/src/utils/getContractData.ts b/packages/cli/src/utils/getContractData.ts index c55e2c9a11..0681a6e5bd 100644 --- a/packages/cli/src/utils/getContractData.ts +++ b/packages/cli/src/utils/getContractData.ts @@ -14,11 +14,12 @@ export function getContractData( contractName: string, forgeOutDirectory: string, ): { bytecode: Hex; placeholders: readonly LibraryPlaceholder[]; abi: Abi; deployedBytecodeSize: number } { + // eslint-disable-next-line @typescript-eslint/no-explicit-any let data: any; const contractDataPath = path.join(forgeOutDirectory, filename, contractName + ".json"); try { data = JSON.parse(readFileSync(contractDataPath, "utf8")); - } catch (error: any) { + } catch (error) { throw new MUDError(`Error reading file at ${contractDataPath}`); } diff --git a/packages/common/src/type-utils/common.ts b/packages/common/src/type-utils/common.ts index 7694b42c28..9da9e417d6 100644 --- a/packages/common/src/type-utils/common.ts +++ b/packages/common/src/type-utils/common.ts @@ -18,8 +18,11 @@ export type OrDefaults = { [key in keyof Defaults]: key extends keyof T ? OrDefault : Defaults[key]; }; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type UnionOmit = T extends any ? Omit : never; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type UnionKeys = T extends any ? keyof T : never; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type UnionPick> = T extends any ? Pick> : never; // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/common/src/utils/includes.ts b/packages/common/src/utils/includes.ts index 5b4e83e6b8..8fb6fed73e 100644 --- a/packages/common/src/utils/includes.ts +++ b/packages/common/src/utils/includes.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export function includes(items: item[], value: any): value is item { return items.includes(value); } diff --git a/packages/config/src/library/dynamicResolution.ts b/packages/config/src/library/dynamicResolution.ts index cf6e4083eb..5ebeb6c17e 100644 --- a/packages/config/src/library/dynamicResolution.ts +++ b/packages/config/src/library/dynamicResolution.ts @@ -34,6 +34,7 @@ export function isDynamicResolution(value: unknown): value is DynamicResolution * Turn a DynamicResolution object into a ValueWithType based on the provided context */ export function resolveWithContext( + // eslint-disable-next-line @typescript-eslint/no-explicit-any unresolved: any, context: { systemAddresses?: Record>; tableIds?: Record }, ): ValueWithType { diff --git a/packages/dev-tools/src/actions/WriteSummary.tsx b/packages/dev-tools/src/actions/WriteSummary.tsx index 8221805752..4c59b1ccb7 100644 --- a/packages/dev-tools/src/actions/WriteSummary.tsx +++ b/packages/dev-tools/src/actions/WriteSummary.tsx @@ -145,6 +145,7 @@ export function WriteSummary({ write }: Props) { {events.map(({ eventName, args }, i) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const table = hexToResource((args as any).tableId); // TODO: dedupe this with logs table so we can get both rendering the same return ( @@ -158,8 +159,10 @@ export function WriteSummary({ write }: Props) { {eventName === "Store_DeleteRecord" ? - : null} + {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} {hexKeyTupleToEntity((args as any).keyTuple)} + {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */} {(args as any).data} ); diff --git a/packages/dev-tools/src/common.ts b/packages/dev-tools/src/common.ts index 6032648e95..93a7da14cf 100644 --- a/packages/dev-tools/src/common.ts +++ b/packages/dev-tools/src/common.ts @@ -16,6 +16,6 @@ export type DevToolsOptions = { worldAbi: Abi; write$: Observable; recsWorld?: RecsWorld; - // TODO: figure out why using `Tables` here causes downstream type errors + // eslint-disable-next-line @typescript-eslint/no-explicit-any useStore?: ZustandStore; }; diff --git a/packages/dev-tools/src/recs/ComponentDataTable.tsx b/packages/dev-tools/src/recs/ComponentDataTable.tsx index 6dce6eb87f..ccf3510a26 100644 --- a/packages/dev-tools/src/recs/ComponentDataTable.tsx +++ b/packages/dev-tools/src/recs/ComponentDataTable.tsx @@ -1,6 +1,5 @@ import { useEntityQuery } from "@latticexyz/react"; import { Component, Has, getComponentValueStrict, Type } from "@latticexyz/recs"; -import { decodeEntity } from "@latticexyz/store-sync/recs"; import { serialize } from "../serialize"; // TODO: use react-table or similar for better perf with lots of logs diff --git a/packages/dev-tools/src/serialize.ts b/packages/dev-tools/src/serialize.ts index 93b1866a11..d251e2a844 100644 --- a/packages/dev-tools/src/serialize.ts +++ b/packages/dev-tools/src/serialize.ts @@ -1,5 +1,6 @@ // JSON.stringify but with BigInt support +// eslint-disable-next-line @typescript-eslint/no-explicit-any export function serialize(obj: any) { return JSON.stringify(obj, (_key, value) => { if (typeof value === "bigint") { diff --git a/packages/dev-tools/src/zustand/TableDataTable.tsx b/packages/dev-tools/src/zustand/TableDataTable.tsx index 2bd95d2dd1..c6e147951f 100644 --- a/packages/dev-tools/src/zustand/TableDataTable.tsx +++ b/packages/dev-tools/src/zustand/TableDataTable.tsx @@ -1,7 +1,5 @@ import { Table } from "@latticexyz/store"; import { useRecords } from "./useRecords"; -import { isHex } from "viem"; -import { TruncatedHex } from "../TruncatedHex"; import { FieldValue } from "./FieldValue"; // TODO: use react-table or similar for better perf with lots of logs diff --git a/packages/dev-tools/src/zustand/useRecords.ts b/packages/dev-tools/src/zustand/useRecords.ts index 3e549b0d32..7656bd55b3 100644 --- a/packages/dev-tools/src/zustand/useRecords.ts +++ b/packages/dev-tools/src/zustand/useRecords.ts @@ -12,7 +12,7 @@ export function useRecords(table: table): TableRecord
{ - return useStore.subscribe((state) => { + return useStore.subscribe(() => { const nextRecords = useStore.getState().getRecords(table); if (nextRecords !== records) { setRecords(nextRecords); diff --git a/packages/faucet/bin/parseEnv.ts b/packages/faucet/bin/parseEnv.ts index 7d17e6da78..00798c5a69 100644 --- a/packages/faucet/bin/parseEnv.ts +++ b/packages/faucet/bin/parseEnv.ts @@ -20,7 +20,7 @@ export function parseEnv( return envSchema.parse(process.env); } catch (error) { if (error instanceof ZodError) { - const { _errors, ...invalidEnvVars } = error.format(); + const { ...invalidEnvVars } = error.format(); console.error(`\nMissing or invalid environment variables:\n\n ${Object.keys(invalidEnvVars).join("\n ")}\n`); process.exit(1); } diff --git a/packages/gas-report/ts/gas-report.ts b/packages/gas-report/ts/gas-report.ts index 2391c2f101..a7e749ef39 100755 --- a/packages/gas-report/ts/gas-report.ts +++ b/packages/gas-report/ts/gas-report.ts @@ -21,7 +21,7 @@ yargs(hideBin(process.argv)) // Enable strict mode. .strict() // Custom error handler - .fail((msg, err) => { + .fail((msg) => { console.error(chalk.red(msg)); if (msg.includes("Missing required argument")) { console.log( diff --git a/packages/gas-report/ts/index.ts b/packages/gas-report/ts/index.ts index cb058492f2..e8d41f731b 100644 --- a/packages/gas-report/ts/index.ts +++ b/packages/gas-report/ts/index.ts @@ -120,6 +120,7 @@ async function runGasReport(options: Options): Promise { }); logs = (await child).stdout; } + // eslint-disable-next-line @typescript-eslint/no-explicit-any } catch (error: any) { console.log(error.stdout ?? error); console.log(chalk.red("\n-----------\nError while running the gas report (see above)")); diff --git a/packages/recs/src/Component.ts b/packages/recs/src/Component.ts index ccc5d038a5..352e11cd2c 100644 --- a/packages/recs/src/Component.ts +++ b/packages/recs/src/Component.ts @@ -23,6 +23,7 @@ export type ComponentMutationOptions = { skipUpdateStream?: boolean; }; +// eslint-disable-next-line @typescript-eslint/no-explicit-any function getComponentName(component: Component) { return ( component.metadata?.componentName ?? diff --git a/packages/recs/src/Performance.spec.ts b/packages/recs/src/Performance.spec.ts index 6f662e7ade..e17da85065 100644 --- a/packages/recs/src/Performance.spec.ts +++ b/packages/recs/src/Performance.spec.ts @@ -35,6 +35,7 @@ describe("V2", () => { const Position = defineComponentV2(world, { x: TypeV2.Number, y: TypeV2.Number }); defineSystem(world, [HasValueV2(Position, { x: 1, y: 1 })], (update) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars const e = update; }); diff --git a/packages/recs/src/Query.ts b/packages/recs/src/Query.ts index 2ebce7fa81..6210c9973a 100644 --- a/packages/recs/src/Query.ts +++ b/packages/recs/src/Query.ts @@ -1,6 +1,6 @@ import { filterNullish } from "@latticexyz/utils"; import { observable, ObservableSet } from "mobx"; -import { concat, concatMap, filter, from, map, merge, Observable, of, share, Subject } from "rxjs"; +import { concat, concatMap, filter, from, map, merge, Observable, of, share } from "rxjs"; import { componentValueEquals, getComponentEntities, @@ -15,7 +15,6 @@ import { ComponentValue, Entity, EntityQueryFragment, - EntitySymbol, HasQueryFragment, HasValueQueryFragment, NotQueryFragment, diff --git a/packages/schema-type/src/typescript/dynamicAbiTypes.ts b/packages/schema-type/src/typescript/dynamicAbiTypes.ts index 8c4549c2f2..3563b476a3 100644 --- a/packages/schema-type/src/typescript/dynamicAbiTypes.ts +++ b/packages/schema-type/src/typescript/dynamicAbiTypes.ts @@ -1,7 +1,6 @@ import { Hex } from "viem"; -import { DynamicAbiType, SchemaAbiType, dynamicAbiTypes } from "./schemaAbiTypes"; +import { DynamicAbiType, dynamicAbiTypes } from "./schemaAbiTypes"; import { LiteralToBroad } from "./utils"; -import { isArrayAbiType } from "./arrayAbiTypes"; // Variable-length ABI types, where their lengths are encoded by a PackedCounter within the record diff --git a/packages/schema-type/src/typescript/schemaAbiTypes.ts b/packages/schema-type/src/typescript/schemaAbiTypes.ts index 58792943c5..586d8cd406 100644 --- a/packages/schema-type/src/typescript/schemaAbiTypes.ts +++ b/packages/schema-type/src/typescript/schemaAbiTypes.ts @@ -206,7 +206,9 @@ export const schemaAbiTypes = [ export type SchemaAbiType = (typeof schemaAbiTypes)[number]; // These are defined here to keep the index position (98) consolidated, since we use it both in runtime code and type definition +// eslint-disable-next-line @typescript-eslint/no-explicit-any export const staticAbiTypes = schemaAbiTypes.slice(0, 98) as any as TupleSplit[0]; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export const dynamicAbiTypes = schemaAbiTypes.slice(98) as any as TupleSplit[1]; export type StaticAbiType = (typeof staticAbiTypes)[number]; diff --git a/packages/schema-type/src/typescript/utils.ts b/packages/schema-type/src/typescript/utils.ts index 543d6fd6d9..8d575ee951 100644 --- a/packages/schema-type/src/typescript/utils.ts +++ b/packages/schema-type/src/typescript/utils.ts @@ -1,5 +1,6 @@ import { Hex } from "viem"; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type TupleSplit = O["length"] extends N ? [O, T] : T extends readonly [infer F, ...infer R] diff --git a/packages/solhint-plugin-mud/src/rules/NoMsgSender.ts b/packages/solhint-plugin-mud/src/rules/NoMsgSender.ts index fb3751c4dd..e14aebd57f 100644 --- a/packages/solhint-plugin-mud/src/rules/NoMsgSender.ts +++ b/packages/solhint-plugin-mud/src/rules/NoMsgSender.ts @@ -3,11 +3,14 @@ import { SolhintRule } from "../solhintTypes"; export class NoMsgSender implements SolhintRule { ruleId = "no-msg-sender"; + // eslint-disable-next-line @typescript-eslint/no-explicit-any reporter: any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any config: any; isSystemOrLibrary = false; + // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor(reporter: any, config: any) { this.reporter = reporter; this.config = config; diff --git a/packages/solhint-plugin-mud/src/rules/SystemFileName.ts b/packages/solhint-plugin-mud/src/rules/SystemFileName.ts index 337cebb1d5..0aac6366cb 100644 --- a/packages/solhint-plugin-mud/src/rules/SystemFileName.ts +++ b/packages/solhint-plugin-mud/src/rules/SystemFileName.ts @@ -5,12 +5,15 @@ import { SolhintRule } from "../solhintTypes"; export class SystemFileName implements SolhintRule { ruleId = "system-file-name"; + // eslint-disable-next-line @typescript-eslint/no-explicit-any reporter: any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any config: any; expectedContractName: string; isSystemFile = false; + // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor(reporter: any, config: any, inputSrc: string, fileName: string) { this.reporter = reporter; this.config = config; diff --git a/packages/solhint-plugin-mud/src/solhintTypes.ts b/packages/solhint-plugin-mud/src/solhintTypes.ts index 74d43b8636..c5e29b357f 100644 --- a/packages/solhint-plugin-mud/src/solhintTypes.ts +++ b/packages/solhint-plugin-mud/src/solhintTypes.ts @@ -1,5 +1,7 @@ export interface SolhintRule { ruleId: string; + // eslint-disable-next-line @typescript-eslint/no-explicit-any reporter: any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any config: any; } diff --git a/packages/store-indexer/bin/parseEnv.ts b/packages/store-indexer/bin/parseEnv.ts index 5a001a61a3..637eaa47d7 100644 --- a/packages/store-indexer/bin/parseEnv.ts +++ b/packages/store-indexer/bin/parseEnv.ts @@ -31,7 +31,7 @@ export function parseEnv(envSchema: TSchema): z.infe return envSchema.parse(process.env); } catch (error) { if (error instanceof ZodError) { - const { _errors, ...invalidEnvVars } = error.format(); + const { ...invalidEnvVars } = error.format(); console.error(`\nMissing or invalid environment variables:\n\n ${Object.keys(invalidEnvVars).join("\n ")}\n`); process.exit(1); } diff --git a/packages/store-indexer/src/postgres/deprecated/createQueryAdapter.ts b/packages/store-indexer/src/postgres/deprecated/createQueryAdapter.ts index db0f6ddf7c..d318f8e01d 100644 --- a/packages/store-indexer/src/postgres/deprecated/createQueryAdapter.ts +++ b/packages/store-indexer/src/postgres/deprecated/createQueryAdapter.ts @@ -14,6 +14,7 @@ import { groupBy } from "@latticexyz/common/utils"; * @returns {Promise} A set of methods used by tRPC endpoints. * @deprecated */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export async function createQueryAdapter(database: PgDatabase): Promise { const adapter: QueryAdapter = { async getLogs(opts) { diff --git a/packages/store-indexer/src/postgres/deprecated/getLogs.ts b/packages/store-indexer/src/postgres/deprecated/getLogs.ts index a883e9b011..45c8914217 100644 --- a/packages/store-indexer/src/postgres/deprecated/getLogs.ts +++ b/packages/store-indexer/src/postgres/deprecated/getLogs.ts @@ -11,6 +11,7 @@ import { createBenchmark } from "@latticexyz/common"; * @deprecated */ export async function getLogs( + // eslint-disable-next-line @typescript-eslint/no-explicit-any database: PgDatabase, { chainId, diff --git a/packages/store-indexer/src/sqlite/apiRoutes.ts b/packages/store-indexer/src/sqlite/apiRoutes.ts index 2ad7962a11..8bf13d8033 100644 --- a/packages/store-indexer/src/sqlite/apiRoutes.ts +++ b/packages/store-indexer/src/sqlite/apiRoutes.ts @@ -9,6 +9,7 @@ import { compress } from "../koa-middleware/compress"; import { getTablesWithRecords } from "./getTablesWithRecords"; import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core"; +// eslint-disable-next-line @typescript-eslint/no-explicit-any export function apiRoutes(database: BaseSQLiteDatabase<"sync", any>): Middleware { const router = new Router(); diff --git a/packages/store-indexer/src/sqlite/createQueryAdapter.ts b/packages/store-indexer/src/sqlite/createQueryAdapter.ts index 2ceb89c3fe..a80c945296 100644 --- a/packages/store-indexer/src/sqlite/createQueryAdapter.ts +++ b/packages/store-indexer/src/sqlite/createQueryAdapter.ts @@ -9,6 +9,7 @@ import { tablesWithRecordsToLogs } from "@latticexyz/store-sync"; * @param {BaseSQLiteDatabase<"sync", any>} database SQLite database object from Drizzle * @returns {Promise} A set of methods used by tRPC endpoints. */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export async function createQueryAdapter(database: BaseSQLiteDatabase<"sync", any>): Promise { const adapter: QueryAdapter = { async getLogs(opts) { diff --git a/packages/store-indexer/src/sqlite/getTablesWithRecords.ts b/packages/store-indexer/src/sqlite/getTablesWithRecords.ts index 10093c99ef..504f2561a2 100644 --- a/packages/store-indexer/src/sqlite/getTablesWithRecords.ts +++ b/packages/store-indexer/src/sqlite/getTablesWithRecords.ts @@ -11,6 +11,7 @@ import { SyncFilter, TableWithRecords } from "@latticexyz/store-sync"; * @deprecated * */ export function getTablesWithRecords( + // eslint-disable-next-line @typescript-eslint/no-explicit-any database: BaseSQLiteDatabase<"sync", any>, { chainId, diff --git a/packages/store-sync/src/indexer-client/createIndexerClient.ts b/packages/store-sync/src/indexer-client/createIndexerClient.ts index dd645a07d0..af5cf57f87 100644 --- a/packages/store-sync/src/indexer-client/createIndexerClient.ts +++ b/packages/store-sync/src/indexer-client/createIndexerClient.ts @@ -42,6 +42,7 @@ export function createIndexerClient({ url }: CreateIndexerClientOptions): Indexe }; } +// eslint-disable-next-line @typescript-eslint/no-explicit-any function isStorageAdapterBlock(data: any): data is Omit & { blockNumber: string } { return data && typeof data.blockNumber === "string" && Array.isArray(data.logs); } diff --git a/packages/store-sync/src/postgres-decoded/buildTable.ts b/packages/store-sync/src/postgres-decoded/buildTable.ts index be5ef290fb..2db76ee6bc 100644 --- a/packages/store-sync/src/postgres-decoded/buildTable.ts +++ b/packages/store-sync/src/postgres-decoded/buildTable.ts @@ -17,12 +17,15 @@ type PgTableFromSchema; diff --git a/packages/store-sync/src/postgres-decoded/createStorageAdapter.test.ts b/packages/store-sync/src/postgres-decoded/createStorageAdapter.test.ts index 3f0b6edf40..36e311b8d5 100644 --- a/packages/store-sync/src/postgres-decoded/createStorageAdapter.test.ts +++ b/packages/store-sync/src/postgres-decoded/createStorageAdapter.test.ts @@ -1,5 +1,5 @@ import { beforeEach, describe, expect, it } from "vitest"; -import { DefaultLogger, eq } from "drizzle-orm"; +import { eq } from "drizzle-orm"; import { drizzle } from "drizzle-orm/postgres-js"; import postgres from "postgres"; import { Hex, RpcLog, createPublicClient, decodeEventLog, formatLog, http } from "viem"; @@ -21,7 +21,7 @@ const blocks = groupLogsByBlockNumber( topics: log.topics as [Hex, ...Hex[]], strict: true, }); - return formatLog(log as any as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; + return formatLog(log as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; }), ); diff --git a/packages/store-sync/src/postgres-decoded/getTables.ts b/packages/store-sync/src/postgres-decoded/getTables.ts index 837af7ac46..ff75b70764 100644 --- a/packages/store-sync/src/postgres-decoded/getTables.ts +++ b/packages/store-sync/src/postgres-decoded/getTables.ts @@ -7,6 +7,7 @@ import { decodeDynamicField } from "@latticexyz/protocol-parser"; import { logToTable } from "../logToTable"; export async function getTables( + // eslint-disable-next-line @typescript-eslint/no-explicit-any db: PgDatabase, filters: { address: Hex | null; tableId: Hex | null }[] = [], ): Promise { diff --git a/packages/store-sync/src/postgres-decoded/syncToPostgres.ts b/packages/store-sync/src/postgres-decoded/syncToPostgres.ts index b4c98627e7..3515a9aff3 100644 --- a/packages/store-sync/src/postgres-decoded/syncToPostgres.ts +++ b/packages/store-sync/src/postgres-decoded/syncToPostgres.ts @@ -10,6 +10,7 @@ type SyncToPostgresOptions = SyncOpti * * [0]: https://orm.drizzle.team/docs/installation-and-db-connection/postgresql/postgresjs */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any database: PgDatabase; startSync?: boolean; }; diff --git a/packages/store-sync/src/postgres/cleanDatabase.ts b/packages/store-sync/src/postgres/cleanDatabase.ts index 3622388d8d..9544cb1be6 100644 --- a/packages/store-sync/src/postgres/cleanDatabase.ts +++ b/packages/store-sync/src/postgres/cleanDatabase.ts @@ -35,6 +35,7 @@ function isMudSchemaName(schemaName: string): boolean { * VERY DESTRUCTIVE! Finds and drops all MUD indexer related schemas and tables. * @internal */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export async function cleanDatabase(db: PgDatabase): Promise { const schemaNames = (await db.select({ schemaName: schemata.schemaName }).from(schemata).execute()) .map((row) => row.schemaName) diff --git a/packages/store-sync/src/postgres/createStorageAdapter.test.ts b/packages/store-sync/src/postgres/createStorageAdapter.test.ts index 5a6cb9cc8a..55c34727af 100644 --- a/packages/store-sync/src/postgres/createStorageAdapter.test.ts +++ b/packages/store-sync/src/postgres/createStorageAdapter.test.ts @@ -1,5 +1,5 @@ import { beforeEach, describe, expect, it } from "vitest"; -import { DefaultLogger, eq } from "drizzle-orm"; +import { eq } from "drizzle-orm"; import { drizzle } from "drizzle-orm/postgres-js"; import postgres from "postgres"; import { Hex, RpcLog, createPublicClient, decodeEventLog, formatLog, http } from "viem"; @@ -19,6 +19,7 @@ const blocks = groupLogsByBlockNumber( topics: log.topics as [Hex, ...Hex[]], strict: true, }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any return formatLog(log as any as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; }), ); diff --git a/packages/store-sync/src/postgres/setupTables.test.ts b/packages/store-sync/src/postgres/setupTables.test.ts index 62946b3d93..f6188faf7c 100644 --- a/packages/store-sync/src/postgres/setupTables.test.ts +++ b/packages/store-sync/src/postgres/setupTables.test.ts @@ -1,7 +1,6 @@ import { beforeEach, describe, expect, it } from "vitest"; import { tables } from "./tables"; import { PgDatabase, QueryResultHKT } from "drizzle-orm/pg-core"; -import { DefaultLogger } from "drizzle-orm"; import { drizzle } from "drizzle-orm/postgres-js"; import postgres from "postgres"; import { setupTables } from "./setupTables"; diff --git a/packages/store-sync/src/postgres/setupTables.ts b/packages/store-sync/src/postgres/setupTables.ts index 855017677c..ccbdf37058 100644 --- a/packages/store-sync/src/postgres/setupTables.ts +++ b/packages/store-sync/src/postgres/setupTables.ts @@ -15,7 +15,9 @@ debug.log = console.debug.bind(console); error.log = console.error.bind(console); export async function setupTables( + // eslint-disable-next-line @typescript-eslint/no-explicit-any db: PgDatabase, + // eslint-disable-next-line @typescript-eslint/no-explicit-any tables: PgTableWithColumns[], ): Promise<() => Promise> { const schemaNames = unique(tables.map((table) => getTableConfig(table).schema).filter(isDefined)); @@ -49,11 +51,13 @@ export async function setupTables( if (primaryKeyColumns.length) { query = query.addPrimaryKeyConstraint( `${tableConfig.name}_${primaryKeyColumns.join("_")}_pk`, + // eslint-disable-next-line @typescript-eslint/no-explicit-any primaryKeyColumns as any, ); } for (const pk of tableConfig.primaryKeys) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any query = query.addPrimaryKeyConstraint(pk.getName(), pk.columns.map((col) => col.name) as any); } diff --git a/packages/store-sync/src/postgres/shouldCleanDatabase.ts b/packages/store-sync/src/postgres/shouldCleanDatabase.ts index 9dcb41a0df..e4d1044913 100644 --- a/packages/store-sync/src/postgres/shouldCleanDatabase.ts +++ b/packages/store-sync/src/postgres/shouldCleanDatabase.ts @@ -15,6 +15,7 @@ error.log = console.error.bind(console); /** * @internal */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export async function shouldCleanDatabase(db: PgDatabase, expectedChainId: number): Promise { try { const config = (await db.select().from(tables.configTable).limit(1).execute()).find(() => true); diff --git a/packages/store-sync/src/postgres/syncToPostgres.ts b/packages/store-sync/src/postgres/syncToPostgres.ts index b4c98627e7..3515a9aff3 100644 --- a/packages/store-sync/src/postgres/syncToPostgres.ts +++ b/packages/store-sync/src/postgres/syncToPostgres.ts @@ -10,6 +10,7 @@ type SyncToPostgresOptions = SyncOpti * * [0]: https://orm.drizzle.team/docs/installation-and-db-connection/postgresql/postgresjs */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any database: PgDatabase; startSync?: boolean; }; diff --git a/packages/store-sync/src/query-cache/query.ts b/packages/store-sync/src/query-cache/query.ts index d98ebbb810..0c613b5c3d 100644 --- a/packages/store-sync/src/query-cache/query.ts +++ b/packages/store-sync/src/query-cache/query.ts @@ -15,6 +15,7 @@ import { findSubjects } from "./findSubjects"; // TODO: make condition types smarter, so condition literal matches the field primitive type // TODO: return matching records alongside subjects? because the record subset may be smaller than what querying for records with matching subjects +// eslint-disable-next-line @typescript-eslint/no-unused-vars type QueryResult = readonly QueryResultSubject[]; export async function query( diff --git a/packages/store-sync/src/query-cache/subscribeToQuery.test.ts b/packages/store-sync/src/query-cache/subscribeToQuery.test.ts index 2b333bcf43..d4ae4aa74c 100644 --- a/packages/store-sync/src/query-cache/subscribeToQuery.test.ts +++ b/packages/store-sync/src/query-cache/subscribeToQuery.test.ts @@ -2,11 +2,11 @@ import { beforeAll, describe, expect, it } from "vitest"; import { createHydratedStore, tables } from "./test/createHydratedStore"; import { QueryResultSubjectChange, subscribeToQuery } from "./subscribeToQuery"; import { deployMockGame, worldAbi } from "../../test/mockGame"; -import { waitForTransactionReceipt, writeContract } from "viem/actions"; +import { writeContract } from "viem/actions"; import { Address, keccak256, parseEther, stringToHex } from "viem"; import { privateKeyToAccount } from "viem/accounts"; import { testClient } from "../../test/common"; -import { combineLatest, filter, firstValueFrom, map, scan, shareReplay, tap } from "rxjs"; +import { combineLatest, filter, firstValueFrom, map, scan, shareReplay } from "rxjs"; import { QueryResultSubject } from "./common"; import { waitForTransaction } from "./test/waitForTransaction"; @@ -22,7 +22,7 @@ describe("subscribeToQuery", async () => { it("can get players with a position", async () => { const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Position.tableId, subject: ["player"] }], }); @@ -140,7 +140,7 @@ describe("subscribeToQuery", async () => { it("can get players at position (3, 5)", async () => { const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Position.tableId, subject: ["player"] }], where: [ { left: { tableId: tables.Position.tableId, field: "x" }, op: "=", right: 3 }, @@ -277,7 +277,7 @@ describe("subscribeToQuery", async () => { it("can get players within the bounds of (-5, -5) and (5, 5)", async () => { const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Position.tableId, subject: ["player"] }], where: [ { left: { tableId: tables.Position.tableId, field: "x" }, op: ">=", right: -5 }, @@ -429,9 +429,9 @@ describe("subscribeToQuery", async () => { }); it("can get players that are still alive", async () => { - const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); + const { store } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [ { tableId: tables.Position.tableId, subject: ["player"] }, { tableId: tables.Health.tableId, subject: ["player"] }, @@ -485,9 +485,9 @@ describe("subscribeToQuery", async () => { }); it("can get all players in grassland", async () => { - const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); + const { store } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Terrain.tableId, subject: ["x", "y"] }], where: [{ left: { tableId: tables.Terrain.tableId, field: "terrainType" }, op: "=", right: 2 }], }); @@ -531,9 +531,9 @@ describe("subscribeToQuery", async () => { }); it("can get all players without health (e.g. spectator)", async () => { - const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); + const { store } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Position.tableId, subject: ["player"] }], except: [{ tableId: tables.Health.tableId, subject: ["player"] }], }); @@ -577,7 +577,7 @@ describe("subscribeToQuery", async () => { it("emits new subjects when initial matching set is empty", async () => { const { store, fetchLatestLogs } = await createHydratedStore(worldAddress); - const { subjects, subjects$, subjectChanges$ } = await subscribeToQuery(store, { + const { subjects$, subjectChanges$ } = await subscribeToQuery(store, { from: [{ tableId: tables.Position.tableId, subject: ["player"] }], where: [ { left: { tableId: tables.Position.tableId, field: "x" }, op: "=", right: 999 }, diff --git a/packages/store-sync/src/query-cache/subscribeToQuery.ts b/packages/store-sync/src/query-cache/subscribeToQuery.ts index 3b31e563ed..1706c67e27 100644 --- a/packages/store-sync/src/query-cache/subscribeToQuery.ts +++ b/packages/store-sync/src/query-cache/subscribeToQuery.ts @@ -14,6 +14,7 @@ export type QueryResultSubjectChange = { // TODO: decide if this whole thing is returned in a promise or just `subjects` // TODO: return matching records alongside subjects? because the record subset may be smaller than what querying for records with matching subjects +// eslint-disable-next-line @typescript-eslint/no-unused-vars type SubscribeToQueryResult = { /** * Set of initial matching subjects for query. diff --git a/packages/store-sync/src/query-cache/test/createHydratedStore.ts b/packages/store-sync/src/query-cache/test/createHydratedStore.ts index 0cd0a1f4e4..92115e8671 100644 --- a/packages/store-sync/src/query-cache/test/createHydratedStore.ts +++ b/packages/store-sync/src/query-cache/test/createHydratedStore.ts @@ -28,6 +28,7 @@ export async function createHydratedStore(worldAddress: Address): Promise<{ if (toBlock > lastBlockProcessed) { const fromBlock = lastBlockProcessed + 1n; // console.log("fetching blocks", fromBlock, "to", toBlock); + // eslint-disable-next-line @typescript-eslint/no-unused-vars for await (const block of fetchAndStoreLogs({ storageAdapter, publicClient: testClient, diff --git a/packages/store-sync/src/recs/recsStorage.test.ts b/packages/store-sync/src/recs/recsStorage.test.ts index a1e5217cbe..1af1bcc16d 100644 --- a/packages/store-sync/src/recs/recsStorage.test.ts +++ b/packages/store-sync/src/recs/recsStorage.test.ts @@ -20,6 +20,7 @@ const blocks = groupLogsByBlockNumber( topics: log.topics as [Hex, ...Hex[]], strict: true, }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any return formatLog(log as any as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; }), ); diff --git a/packages/store-sync/src/sqlite/buildTable.ts b/packages/store-sync/src/sqlite/buildTable.ts index 5e419747da..9178048393 100644 --- a/packages/store-sync/src/sqlite/buildTable.ts +++ b/packages/store-sync/src/sqlite/buildTable.ts @@ -21,12 +21,15 @@ type SQLiteTableFromSchema; diff --git a/packages/store-sync/src/sqlite/sqliteStorage.test.ts b/packages/store-sync/src/sqlite/sqliteStorage.test.ts index e12e6574a8..995fd1496a 100644 --- a/packages/store-sync/src/sqlite/sqliteStorage.test.ts +++ b/packages/store-sync/src/sqlite/sqliteStorage.test.ts @@ -23,6 +23,7 @@ const blocks = groupLogsByBlockNumber( topics: log.topics as [Hex, ...Hex[]], strict: true, }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any return formatLog(log as any as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; }), ); diff --git a/packages/store-sync/src/sqlite/sqliteTableToSql.ts b/packages/store-sync/src/sqlite/sqliteTableToSql.ts index 7ba7f085f7..d21721634e 100644 --- a/packages/store-sync/src/sqlite/sqliteTableToSql.ts +++ b/packages/store-sync/src/sqlite/sqliteTableToSql.ts @@ -2,6 +2,7 @@ import { AnySQLiteColumn, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core import { ColumnDataType, DummyDriver, Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler } from "kysely"; import { getTableColumns, getTableName } from "drizzle-orm"; +// eslint-disable-next-line @typescript-eslint/no-explicit-any const db = new Kysely({ dialect: { createAdapter: (): SqliteAdapter => new SqliteAdapter(), @@ -11,6 +12,7 @@ const db = new Kysely({ }, }); +// eslint-disable-next-line @typescript-eslint/no-explicit-any export function sqliteTableToSql(table: SQLiteTableWithColumns): string { const tableName = getTableName(table); @@ -32,6 +34,7 @@ export function sqliteTableToSql(table: SQLiteTableWithColumns): string { const primaryKeys = columns.filter((column) => column.primary).map((column) => column.name); if (primaryKeys.length) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any query = query.addPrimaryKeyConstraint(`${tableName}__primaryKey`, primaryKeys as any); } diff --git a/packages/store-sync/src/sqlite/syncToSqlite.ts b/packages/store-sync/src/sqlite/syncToSqlite.ts index b7751b0bd0..79282fed63 100644 --- a/packages/store-sync/src/sqlite/syncToSqlite.ts +++ b/packages/store-sync/src/sqlite/syncToSqlite.ts @@ -10,6 +10,7 @@ type SyncToSqliteOptions = SyncOption * * [0]: https://orm.drizzle.team/docs/installation-and-db-connection/sqlite/better-sqlite3 */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any database: BaseSQLiteDatabase<"sync", any>; startSync?: boolean; }; diff --git a/packages/store-sync/src/zustand/createStorageAdapter.test.ts b/packages/store-sync/src/zustand/createStorageAdapter.test.ts index 99b7ddf722..c26b7df3f1 100644 --- a/packages/store-sync/src/zustand/createStorageAdapter.test.ts +++ b/packages/store-sync/src/zustand/createStorageAdapter.test.ts @@ -9,6 +9,7 @@ import { getBlockNumber } from "viem/actions"; import { Address } from "viem"; describe("createStorageAdapter", async () => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars let worldAddress: Address; beforeAll(async () => { worldAddress = await deployMockGame(); @@ -19,6 +20,7 @@ describe("createStorageAdapter", async () => { const storageAdapter = createStorageAdapter({ store: useStore }); console.log("fetching blocks"); + // eslint-disable-next-line @typescript-eslint/no-unused-vars for await (const block of fetchAndStoreLogs({ storageAdapter, publicClient: testClient, diff --git a/packages/store-sync/src/zustand/createStorageAdapter.ts b/packages/store-sync/src/zustand/createStorageAdapter.ts index a789274c58..318188933c 100644 --- a/packages/store-sync/src/zustand/createStorageAdapter.ts +++ b/packages/store-sync/src/zustand/createStorageAdapter.ts @@ -17,7 +17,7 @@ export type CreateStorageAdapterOptions = { export function createStorageAdapter({ store, }: CreateStorageAdapterOptions): StorageAdapter { - return async function zustandStorageAdapter({ blockNumber, logs }) { + return async function zustandStorageAdapter({ logs }) { // TODO: clean this up so that we do one store write per block // record id => is deleted diff --git a/packages/store-sync/src/zustand/createStore.ts b/packages/store-sync/src/zustand/createStore.ts index 93a2dd3258..b8f11c8d67 100644 --- a/packages/store-sync/src/zustand/createStore.ts +++ b/packages/store-sync/src/zustand/createStore.ts @@ -65,6 +65,7 @@ export function createStore(opts: CreateStoreOptions(table: table): TableRecords
=> { const records = get().records; return Object.fromEntries( + // eslint-disable-next-line @typescript-eslint/no-unused-vars Object.entries(records).filter(([id, record]) => record.table.tableId === table.tableId), ) as unknown as TableRecords
; }, diff --git a/packages/store-sync/test/logsToBlocks.ts b/packages/store-sync/test/logsToBlocks.ts index 2c92392316..2cfbcdf50e 100644 --- a/packages/store-sync/test/logsToBlocks.ts +++ b/packages/store-sync/test/logsToBlocks.ts @@ -14,6 +14,7 @@ export function logsToBlocks( topics: log.topics as [Hex, ...Hex[]], strict: true, }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any return formatLog(log as any as RpcLog, { args, eventName: eventName as string }) as StoreEventsLog; }), ); diff --git a/packages/world/ts/scripts/list-tables-from-store-and-world-configs.ts b/packages/world/ts/scripts/list-tables-from-store-and-world-configs.ts index 544f20e7db..1efdbf5d78 100644 --- a/packages/world/ts/scripts/list-tables-from-store-and-world-configs.ts +++ b/packages/world/ts/scripts/list-tables-from-store-and-world-configs.ts @@ -9,16 +9,19 @@ import storeConfig from "@latticexyz/store/mud.config"; import worldConfig from "../../mud.config"; function configToTables(config: ExpandMUDUserConfig): { name: string; id: Hex }[] { - return Object.entries(config.tables) - .filter(([_, table]) => !table.tableIdArgument) // Skip generic tables - .map(([name, table]) => ({ - name: name, - id: resourceToHex({ - type: table.offchainOnly ? "offchainTable" : "table", - namespace: config.namespace, - name: table.name, - }), - })); + return ( + Object.entries(config.tables) + // eslint-disable-next-line @typescript-eslint/no-unused-vars + .filter(([_, table]) => !table.tableIdArgument) // Skip generic tables + .map(([name, table]) => ({ + name: name, + id: resourceToHex({ + type: table.offchainOnly ? "offchainTable" : "table", + namespace: config.namespace, + name: table.name, + }), + })) + ); } console.log(JSON.stringify([...configToTables(storeConfig), ...configToTables(worldConfig)])); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb346f9b79..1f5997b726 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@arktype/attest': specifier: 0.6.4 - version: 0.6.4(typescript@5.1.6) + version: 0.6.4(typescript@5.4.2) '@changesets/cli': specifier: ^2.26.1 version: 2.26.1 @@ -18,11 +18,11 @@ importers: specifier: ^18.15.11 version: 18.15.11 '@typescript-eslint/eslint-plugin': - specifier: 5.46.1 - version: 5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: 5.46.1 - version: 5.46.1(eslint@8.29.0)(typescript@5.1.6) + specifier: 7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) bun: specifier: ^1.0.11 version: 1.0.11 @@ -30,8 +30,8 @@ importers: specifier: ^5.2.0 version: 5.2.0 eslint: - specifier: 8.29.0 - version: 8.29.0 + specifier: 8.57.0 + version: 8.57.0 execa: specifier: ^7.0.0 version: 7.0.0 @@ -54,8 +54,8 @@ importers: specifier: ^1.9.3 version: 1.9.3 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages/abi-ts: dependencies: @@ -89,7 +89,7 @@ importers: version: 17.0.23 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -101,7 +101,7 @@ importers: version: link:../common abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.21.4) + version: 1.0.0(typescript@5.4.2)(zod@3.21.4) debug: specifier: ^4.3.4 version: 4.3.4 @@ -110,14 +110,14 @@ importers: version: 7.5.5 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) devDependencies: '@types/debug': specifier: ^4.1.7 version: 4.1.7 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -215,11 +215,11 @@ importers: specifier: ^2.0.2 version: 2.0.2 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) yargs: specifier: ^17.7.1 version: 17.7.1 @@ -262,7 +262,7 @@ importers: version: github.com/foundry-rs/forge-std/74cfb77e308dd188d2f58864aaf44963ae6b88b1 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -298,7 +298,7 @@ importers: version: 1.3.1(prettier@3.2.5) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) devDependencies: '@types/debug': specifier: ^4.1.7 @@ -308,7 +308,7 @@ importers: version: 18.15.11 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -329,7 +329,7 @@ importers: version: 6.3.0 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -339,7 +339,7 @@ importers: devDependencies: tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/create-mud: dependencies: @@ -352,7 +352,7 @@ importers: version: 18.15.11 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/dev-tools: dependencies: @@ -400,7 +400,7 @@ importers: version: 18.3.2(react-dom@18.2.0)(react@18.2.0) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zustand: specifier: ^4.3.7 version: 4.3.7(react@18.2.0) @@ -425,7 +425,7 @@ importers: version: 3.3.2 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -460,7 +460,7 @@ importers: version: 4.21.0 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -470,7 +470,7 @@ importers: version: 4.1.7 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -519,7 +519,7 @@ importers: version: github.com/foundry-rs/forge-std/74cfb77e308dd188d2f58864aaf44963ae6b88b1 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -540,14 +540,14 @@ importers: version: link:../schema-type abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.21.4) + version: 1.0.0(typescript@5.4.2)(zod@3.21.4) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) devDependencies: tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -584,10 +584,10 @@ importers: version: 4.0.0(vite@4.3.6) eslint-plugin-react: specifier: 7.31.11 - version: 7.31.11(eslint@8.29.0) + version: 7.31.11(eslint@8.57.0) eslint-plugin-react-hooks: specifier: 4.6.0 - version: 4.6.0(eslint@8.29.0) + version: 4.6.0(eslint@8.57.0) jsdom: specifier: ^22.1.0 version: 22.1.0 @@ -596,7 +596,7 @@ importers: version: 18.2.0(react@18.2.0) tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vite: specifier: ^4.3.6 version: 4.3.6(@types/node@18.15.11) @@ -630,10 +630,10 @@ importers: version: 29.5.0(@types/node@18.15.11) ts-jest: specifier: ^29.0.5 - version: 29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.1.6) + version: 29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.4.2) tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) type-fest: specifier: ^2.14.0 version: 2.14.0 @@ -642,10 +642,10 @@ importers: dependencies: abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.21.4) + version: 1.0.0(typescript@5.4.2)(zod@3.21.4) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) devDependencies: '@latticexyz/gas-report': specifier: workspace:* @@ -658,7 +658,7 @@ importers: version: github.com/foundry-rs/forge-std/74cfb77e308dd188d2f58864aaf44963ae6b88b1 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -683,7 +683,7 @@ importers: version: 1.146.0 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/solecs: {} @@ -691,7 +691,7 @@ importers: devDependencies: tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/solhint-plugin-mud: dependencies: @@ -704,7 +704,7 @@ importers: version: 18.15.11 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/std-client: {} @@ -729,13 +729,13 @@ importers: version: link:../schema-type abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.21.4) + version: 1.0.0(typescript@5.4.2)(zod@3.21.4) arktype: specifier: 1.0.29-alpha version: 1.0.29-alpha viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -769,7 +769,7 @@ importers: version: 3.3.7 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -852,7 +852,7 @@ importers: version: 1.1.3(@trpc/server@10.34.0)(koa@2.14.2) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -883,7 +883,7 @@ importers: version: 8.2.2 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -949,7 +949,7 @@ importers: version: 1.12.4 viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -971,7 +971,7 @@ importers: version: link:../../test/mock-game-contracts tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) vitest: specifier: 0.34.6 version: 0.34.6(jsdom@22.1.0) @@ -996,10 +996,10 @@ importers: version: 29.5.0(@types/node@18.15.11) ts-jest: specifier: ^29.0.5 - version: 29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.1.6) + version: 29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.4.2) tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) packages/world: dependencies: @@ -1017,10 +1017,10 @@ importers: version: link:../store abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.1.6)(zod@3.21.4) + version: 1.0.0(typescript@5.4.2)(zod@3.21.4) viem: specifier: 2.7.12 - version: 2.7.12(typescript@5.1.6)(zod@3.21.4) + version: 2.7.12(typescript@5.4.2)(zod@3.21.4) zod: specifier: ^3.21.4 version: 3.21.4 @@ -1060,7 +1060,7 @@ importers: version: 3.3.7 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -1124,7 +1124,7 @@ importers: version: 3.3.7 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.23)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.23)(typescript@5.4.2) tsx: specifier: ^3.12.6 version: 3.12.6 @@ -1162,11 +1162,16 @@ importers: specifier: ^3.0.2 version: 3.0.2 typescript: - specifier: 5.1.6 - version: 5.1.6 + specifier: 5.4.2 + version: 5.4.2 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: false @@ -1184,7 +1189,7 @@ packages: '@jridgewell/trace-mapping': 0.3.18 dev: true - /@arktype/attest@0.6.4(typescript@5.1.6): + /@arktype/attest@0.6.4(typescript@5.4.2): resolution: {integrity: sha512-e0ZIITIany0UIpw2p1wiYKrqcK+iRvh9FLabVkWh/mhppm8n4jWPHyIut8OrURPWfB7Obd/cQ1Vu3DuchSfL7A==} hasBin: true peerDependencies: @@ -1195,7 +1200,7 @@ packages: '@typescript/analyze-trace': 0.10.1 '@typescript/vfs': 1.5.0 arktype: 1.0.29-alpha - typescript: 5.1.6 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -2172,13 +2177,28 @@ packages: dev: true optional: true - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.1 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2189,6 +2209,11 @@ packages: - supports-color dev: true + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@ethersproject/abi@5.7.0: resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} dependencies: @@ -2555,11 +2580,11 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: false - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -2571,8 +2596,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@improbable-eng/grpc-web-node-http-transport@0.15.0(@improbable-eng/grpc-web@0.15.0): @@ -2929,7 +2954,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.0 + semver: 7.6.0 dev: false /@npmcli/move-file@2.0.1: @@ -3361,8 +3386,8 @@ packages: pretty-format: 27.5.1 dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/keygrip@1.0.6: @@ -3495,8 +3520,8 @@ packages: resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} dev: true - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true /@types/send@0.17.4: @@ -3568,133 +3593,136 @@ packages: dependencies: '@types/yargs-parser': 21.0.0 - /@typescript-eslint/eslint-plugin@5.46.1(@typescript-eslint/parser@5.46.1)(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/type-utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 - eslint: 8.29.0 + eslint: 8.57.0 + graphemer: 1.4.0 ignore: 5.2.4 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 - eslint: 8.29.0 - typescript: 5.1.6 + eslint: 8.57.0 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.46.1: - resolution: {integrity: sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.1.1: + resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 dev: true - /@typescript-eslint/type-utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - '@typescript-eslint/utils': 5.46.1(eslint@8.29.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4 - eslint: 8.29.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.46.1: - resolution: {integrity: sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@7.1.1: + resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.46.1(typescript@5.1.6): - resolution: {integrity: sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): + resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/visitor-keys': 5.46.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.46.1(eslint@8.29.0)(typescript@5.1.6): - resolution: {integrity: sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.46.1 - '@typescript-eslint/types': 5.46.1 - '@typescript-eslint/typescript-estree': 5.46.1(typescript@5.1.6) - eslint: 8.29.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.29.0) - semver: 7.5.0 + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.46.1: - resolution: {integrity: sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@7.1.1: + resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.46.1 - eslint-visitor-keys: 3.4.0 + '@typescript-eslint/types': 7.1.1 + eslint-visitor-keys: 3.4.3 dev: true /@typescript/analyze-trace@0.10.1: @@ -3719,6 +3747,10 @@ packages: - supports-color dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@viem/anvil@0.0.7(debug@4.3.4): resolution: {integrity: sha512-F+3ljCT1bEt8T4Fzm9gWpIgO3Dc7bzG1TtUtkStkJFMuummqZ8kvYc3UFMo5j3F51fSWZZvEkjs3+i7qf0AOqQ==} dependencies: @@ -3798,7 +3830,7 @@ packages: engines: {node: '>=6', npm: '>=3'} dev: false - /abitype@1.0.0(typescript@5.1.6)(zod@3.21.4): + /abitype@1.0.0(typescript@5.4.2)(zod@3.21.4): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -3809,7 +3841,7 @@ packages: zod: optional: true dependencies: - typescript: 5.1.6 + typescript: 5.4.2 zod: 3.21.4 dev: false @@ -3844,12 +3876,12 @@ packages: acorn: 6.4.2 dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.11.3 dev: true /acorn-walk@8.3.2: @@ -3869,12 +3901,6 @@ packages: hasBin: true dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} dev: false @@ -5554,16 +5580,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.29.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.29.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.31.11(eslint@8.29.0): + /eslint-plugin-react@7.31.11(eslint@8.57.0): resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: @@ -5573,7 +5599,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.29.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -5595,16 +5621,8 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -5618,28 +5636,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.29.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.29.0 - eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} dev: true - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -5688,25 +5691,28 @@ packages: - supports-color dev: true - /eslint@8.29.0: - resolution: {integrity: sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-utils: 3.0.0(eslint@8.29.0) - eslint-visitor-keys: 3.4.0 - espree: 9.5.1 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -5714,23 +5720,19 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 - regexpp: 3.2.0 + optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -5745,13 +5747,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /espree@9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.0 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: @@ -6475,6 +6477,10 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} @@ -7474,7 +7480,7 @@ packages: jest-util: 29.5.0 natural-compare: 1.4.0 pretty-format: 29.5.0 - semver: 7.5.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true @@ -7561,10 +7567,6 @@ packages: resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} dev: false - /js-sdsl@4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} - dev: true - /js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} dev: false @@ -8191,6 +8193,13 @@ packages: dependencies: brace-expansion: 2.0.1 + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -8341,10 +8350,6 @@ packages: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: false - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -8387,14 +8392,14 @@ packages: resolution: {integrity: sha512-iwXuFrMAcFVi/ZoZiqq8BzAdsLw9kxDfTC0HMyjXfSL/6CSDAGD5UmR7azrAgWV1zKYq7dUUMj4owusBWKLsiQ==} engines: {node: '>=10'} dependencies: - semver: 7.5.0 + semver: 7.6.0 dev: false /node-abi@3.52.0: resolution: {integrity: sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==} engines: {node: '>=10'} dependencies: - semver: 7.5.0 + semver: 7.6.0 dev: false /node-fetch@2.6.9: @@ -8422,7 +8427,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.5.0 + semver: 7.6.0 tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: @@ -8631,16 +8636,16 @@ packages: word-wrap: 1.2.3 dev: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /os-tmpdir@1.0.2: @@ -9477,11 +9482,6 @@ packages: engines: {node: '>=6.5.0'} dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -10489,6 +10489,15 @@ packages: koa: 2.14.2 dev: false + /ts-api-utils@1.2.1(typescript@5.4.2): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.2 + dev: true + /ts-error@1.0.6: resolution: {integrity: sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==} dev: false @@ -10497,7 +10506,7 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-jest@29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.1.6): + /ts-jest@29.0.5(@babel/core@7.21.4)(esbuild@0.17.17)(jest@29.5.0)(typescript@5.4.2): resolution: {integrity: sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -10528,7 +10537,7 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.0 - typescript: 5.1.6 + typescript: 5.4.2 yargs-parser: 21.1.1 dev: true @@ -10569,7 +10578,7 @@ packages: engines: {node: '>=0.6.x'} dev: false - /tsup@6.7.0(postcss@8.4.23)(typescript@5.1.6): + /tsup@6.7.0(postcss@8.4.23)(typescript@5.4.2): resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -10600,22 +10609,12 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.32.0 tree-kill: 1.2.2 - typescript: 5.1.6 + typescript: 5.4.2 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils@3.21.0(typescript@5.1.6): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.6 - dev: true - /tsx@3.12.6: resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==} hasBin: true @@ -10772,8 +10771,8 @@ packages: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: false - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -10899,7 +10898,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /viem@2.7.12(typescript@5.1.6)(zod@3.21.4): + /viem@2.7.12(typescript@5.4.2)(zod@3.21.4): resolution: {integrity: sha512-NbV+Bycw0I4X8y6A04mgJ6+Imt7xXwflgnqisR3JXoJRNc77YSaQCscFN/dmwGLESTkgegJvi+j4nZY32GTpwQ==} peerDependencies: typescript: '>=5.0.4' @@ -10912,9 +10911,9 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.1.6)(zod@3.21.4) + abitype: 1.0.0(typescript@5.4.2)(zod@3.21.4) isows: 1.0.3(ws@8.13.0) - typescript: 5.1.6 + typescript: 5.4.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil diff --git a/templates/phaser/package.json b/templates/phaser/package.json index f50980f9a7..1822a69b71 100644 --- a/templates/phaser/package.json +++ b/templates/phaser/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/templates/phaser/packages/art/package.json b/templates/phaser/packages/art/package.json index 66bdc85fa2..dc83e63937 100644 --- a/templates/phaser/packages/art/package.json +++ b/templates/phaser/packages/art/package.json @@ -20,7 +20,7 @@ "glob": "^8.0.3", "optimist": "^0.6.1", "ts-node": "^10.8.2", - "typescript": "5.1.6", + "typescript": "5.4.2", "xml-js": "^1.6.11" } } diff --git a/templates/phaser/packages/client/src/ui/hooks/usePhaserLayer.tsx b/templates/phaser/packages/client/src/ui/hooks/usePhaserLayer.tsx index 2d428b0c24..223d342947 100644 --- a/templates/phaser/packages/client/src/ui/hooks/usePhaserLayer.tsx +++ b/templates/phaser/packages/client/src/ui/hooks/usePhaserLayer.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import useResizeObserver, { ResizeHandler } from "use-resize-observer"; import { throttle } from "lodash"; import { createPhaserLayer } from "../../layers/phaser/createPhaserLayer"; diff --git a/templates/react-ecs/package.json b/templates/react-ecs/package.json index 58440578e0..76ad9005c1 100644 --- a/templates/react-ecs/package.json +++ b/templates/react-ecs/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/templates/react/package.json b/templates/react/package.json index 9e94423c4d..6ccff28421 100644 --- a/templates/react/package.json +++ b/templates/react/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/templates/threejs/package.json b/templates/threejs/package.json index 010dc5af8a..3fcf032ef8 100644 --- a/templates/threejs/package.json +++ b/templates/threejs/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/templates/vanilla/package.json b/templates/vanilla/package.json index 6d8b2d9f34..c7a77e2cde 100644 --- a/templates/vanilla/package.json +++ b/templates/vanilla/package.json @@ -14,12 +14,12 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@types/debug": "4.1.7", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", - "eslint": "8.29.0", + "@typescript-eslint/eslint-plugin": "7.1.1", + "@typescript-eslint/parser": "7.1.1", + "eslint": "8.57.0", "mprocs": "^0.6.4", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" }, "engines": { "node": "18.x", diff --git a/test/mock-game-contracts/package.json b/test/mock-game-contracts/package.json index 663990bcbd..d08e75b5f7 100644 --- a/test/mock-game-contracts/package.json +++ b/test/mock-game-contracts/package.json @@ -18,6 +18,6 @@ "forge-std": "https://github.com/foundry-rs/forge-std.git#74cfb77e308dd188d2f58864aaf44963ae6b88b1", "prettier": "^2.6.2", "rimraf": "^3.0.2", - "typescript": "5.1.6" + "typescript": "5.4.2" } }