diff --git a/apps/client-nodejs/package.json b/apps/client-nodejs/package.json index a7dab19..5b6d5fb 100644 --- a/apps/client-nodejs/package.json +++ b/apps/client-nodejs/package.json @@ -24,13 +24,10 @@ "ws": "^8.18.0" }, "devDependencies": { - "@eslint/js": "^9.9.0", "@types/json-bigint": "^1.0.1", "@types/uuid": "^10.0.0", "esbuild": "^0.23.1", - "eslint": "^9.9.0", "tsx": "^4.19.0", - "typescript": "^5.5.3", - "typescript-eslint": "^8.0.1" + "typescript": "^5.5.3" } } diff --git a/apps/client-web/eslint.config.js b/apps/client-web/eslint.config.js deleted file mode 100644 index 092408a..0000000 --- a/apps/client-web/eslint.config.js +++ /dev/null @@ -1,28 +0,0 @@ -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import tseslint from 'typescript-eslint' - -export default tseslint.config( - { ignores: ['dist'] }, - { - extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['**/*.{ts,tsx}'], - languageOptions: { - ecmaVersion: 2020, - globals: globals.browser, - }, - plugins: { - 'react-hooks': reactHooks, - 'react-refresh': reactRefresh, - }, - rules: { - ...reactHooks.configs.recommended.rules, - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - }, - }, -) diff --git a/apps/client-web/eslint.config.mjs b/apps/client-web/eslint.config.mjs new file mode 100644 index 0000000..486d7c0 --- /dev/null +++ b/apps/client-web/eslint.config.mjs @@ -0,0 +1,4 @@ +import reactInternal from "@parcnet/eslint-config/eslint.reactInternal.config.mjs"; + +/** @type {import("eslint").Linter.Config[]} */ +export default [...reactInternal]; diff --git a/apps/client-web/package.json b/apps/client-web/package.json index 6556b4c..417cfb2 100644 --- a/apps/client-web/package.json +++ b/apps/client-web/package.json @@ -23,19 +23,15 @@ "zod": "^3.23.8" }, "devDependencies": { - "@eslint/js": "^9.9.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.20", "eslint": "^9.9.0", - "eslint-plugin-react-hooks": "^5.1.0-rc.0", - "eslint-plugin-react-refresh": "^0.4.9", "globals": "^15.9.0", "postcss": "^8.4.41", "tailwindcss": "^3.4.10", - "typescript": "^5.5.3", - "typescript-eslint": "^8.0.1", + "typescript": "^5.5", "vite": "^5.4.1" } } diff --git a/apps/client-web/postcss.config.js b/apps/client-web/postcss.config.js index 2e7af2b..ba80730 100644 --- a/apps/client-web/postcss.config.js +++ b/apps/client-web/postcss.config.js @@ -1,6 +1,6 @@ export default { plugins: { tailwindcss: {}, - autoprefixer: {}, - }, -} + autoprefixer: {} + } +}; diff --git a/apps/client-web/src/client/client.ts b/apps/client-web/src/client/client.ts index 2082cdd..9b06c41 100644 --- a/apps/client-web/src/client/client.ts +++ b/apps/client-web/src/client/client.ts @@ -31,8 +31,6 @@ export class ParcnetClientProcessor implements ParcnetRPC { }); this.pod = new ParcnetPODProcessor(this.pods, this.subscriptions); this.identity = new ParcnetIdentityProcessor(); - // @todo: implement gpc - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars this.gpc = new ParcnetGPCProcessor(this.pods, dispatch, this.clientChannel); } } diff --git a/apps/client-web/src/client/identity.ts b/apps/client-web/src/client/identity.ts index fe7eb16..79a6053 100644 --- a/apps/client-web/src/client/identity.ts +++ b/apps/client-web/src/client/identity.ts @@ -1,8 +1,6 @@ import { ParcnetIdentityRPC } from "@parcnet/client-rpc"; export class ParcnetIdentityProcessor implements ParcnetIdentityRPC { - public constructor() {} - async getSemaphoreV3Commitment(): Promise { return BigInt(0); } diff --git a/apps/client-web/src/client/query_subscriptions.ts b/apps/client-web/src/client/query_subscriptions.ts index 1ac7e72..62c8198 100644 --- a/apps/client-web/src/client/query_subscriptions.ts +++ b/apps/client-web/src/client/query_subscriptions.ts @@ -13,7 +13,7 @@ interface QuerySubscriptionEvents { } export class QuerySubscriptions { - private subscriptions: Map = new Map(); + private subscriptions = new Map(); private emitter = new EventEmitter(); private nextSubscriptionId = 0; diff --git a/apps/client-web/tailwind.config.js b/apps/client-web/tailwind.config.js index 22c3bd4..9200905 100644 --- a/apps/client-web/tailwind.config.js +++ b/apps/client-web/tailwind.config.js @@ -1,11 +1,8 @@ /** @type {import('tailwindcss').Config} */ export default { - content: [ - "./index.html", - "./src/**/*.{js,ts,jsx,tsx}", - ], theme: { - extend: {}, + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {} }, - plugins: [], -} - + plugins: [] +}; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..1d12372 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,4 @@ +import base from "@parcnet/eslint-config/eslint.base.config.mjs"; + +/** @type {import("eslint").Linter.Config[]} */ +export default [...base]; diff --git a/examples/test-app/.eslintrc.js b/examples/test-app/.eslintrc.js deleted file mode 100644 index 4e34c61..0000000 --- a/examples/test-app/.eslintrc.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["@parcnet/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname - } -}; diff --git a/examples/test-app/eslint.config.mjs b/examples/test-app/eslint.config.mjs new file mode 100644 index 0000000..486d7c0 --- /dev/null +++ b/examples/test-app/eslint.config.mjs @@ -0,0 +1,4 @@ +import reactInternal from "@parcnet/eslint-config/eslint.reactInternal.config.mjs"; + +/** @type {import("eslint").Linter.Config[]} */ +export default [...reactInternal]; diff --git a/examples/test-app/package.json b/examples/test-app/package.json index 310d08c..39edbbb 100644 --- a/examples/test-app/package.json +++ b/examples/test-app/package.json @@ -10,11 +10,7 @@ "dependencies": { "@parcnet/app-connector": "workspace:*", "@parcnet/podspec": "workspace:*", - "@pcd/gpc-pcd": "0.0.5", - "@pcd/pcd-types": "0.11.4", "@pcd/pod": "0.1.5", - "@pcd/pod-pcd": "0.1.5", - "@pcd/semaphore-identity-pcd": "0.11.4", "dotenv": "^16.0.3", "json-bigint": "^1.0.0", "lodash": "^4.17.21", @@ -31,16 +27,13 @@ "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/parser": "^7.4.0", "autoprefixer": "^10.0.1", "daisyui": "^4.12.10", "esbuild": "^0.23.1", "esbuild-plugin-tailwindcss": "^1.2.1", - "eslint": "8.57.0", "postcss": "^8.4.38", "tailwindcss": "^3.4.3", "ts-node": "^10.9.2", - "typescript": "^5.3.3" + "typescript": "^5.5" } } diff --git a/examples/test-app/src/apis/GPC.tsx b/examples/test-app/src/apis/GPC.tsx index 764b5c6..c6df51c 100644 --- a/examples/test-app/src/apis/GPC.tsx +++ b/examples/test-app/src/apis/GPC.tsx @@ -1,72 +1,9 @@ import { PodspecProofRequest } from "@parcnet/podspec"; -import { GPCPCDArgs } from "@pcd/gpc-pcd"; -import { ArgumentTypeName } from "@pcd/pcd-types"; -import { PODPCDPackage } from "@pcd/pod-pcd"; -import { SemaphoreIdentityPCDPackage } from "@pcd/semaphore-identity-pcd"; import { ReactNode, useState } from "react"; import { ProveResult } from "../../../../packages/client-rpc/src"; import { TryIt } from "../components/TryIt"; import { useParcnetClient } from "../hooks/useParcnetClient"; -const EXAMPLE_GPC_CONFIG = `{ - "pods": { - "examplePOD": { - "entries": { - "origin": { - "isRevealed": true - } - } - } - } -}`; - -const args: GPCPCDArgs = { - proofConfig: { - argumentType: ArgumentTypeName.String, - value: EXAMPLE_GPC_CONFIG, - userProvided: false - }, - pods: { - argumentType: ArgumentTypeName.RecordContainer, - value: { - examplePOD: { - argumentType: ArgumentTypeName.PCD, - pcdType: PODPCDPackage.name, - value: undefined, - userProvided: true, - displayName: "Example POD" - } - }, - validatorParams: { - proofConfig: EXAMPLE_GPC_CONFIG, - membershipLists: undefined, - prescribedEntries: undefined, - prescribedSignerPublicKeys: undefined - } - }, - identity: { - argumentType: ArgumentTypeName.PCD, - pcdType: SemaphoreIdentityPCDPackage.name, - value: undefined, - userProvided: true - }, - externalNullifier: { - argumentType: ArgumentTypeName.String, - value: undefined, - userProvided: false - }, - membershipLists: { - argumentType: ArgumentTypeName.String, - value: undefined, - userProvided: false - }, - watermark: { - argumentType: ArgumentTypeName.String, - value: "watermark", - userProvided: false - } -}; - const request: PodspecProofRequest = { pods: { pod1: { @@ -89,7 +26,7 @@ const request: PodspecProofRequest = { export function GPC(): ReactNode { const { z, connected } = useParcnetClient(); const [proof, setProof] = useState(); - const [verified, setVerified] = useState(); + const [verified, _setVerified] = useState(); return !connected ? null : (
diff --git a/examples/test-app/src/apis/PODSection.tsx b/examples/test-app/src/apis/PODSection.tsx index af84837..13eb301 100644 --- a/examples/test-app/src/apis/PODSection.tsx +++ b/examples/test-app/src/apis/PODSection.tsx @@ -247,7 +247,7 @@ await z.pod.insert(pod);`} await z.pod.insert(pod); setSignature(pod.signature); setCreationState(PODCreationState.Success); - } catch (e) { + } catch (_e) { setCreationState(PODCreationState.Failure); } }} @@ -381,7 +381,7 @@ function DeletePOD({ z }: { z: ParcnetAPI }): ReactNode { try { await z.pod.delete(signature); setDeletionState(PODDeletionState.Success); - } catch (e) { + } catch (_e) { setDeletionState(PODDeletionState.Failure); } }} @@ -403,6 +403,7 @@ function DeletePOD({ z }: { z: ParcnetAPI }): ReactNode { function SubscribeToPODs({ z }: { z: ParcnetAPI }): ReactNode { const [pods, setPODs] = useState([]); + // eslint-disable-next-line @typescript-eslint/no-explicit-any const [subscription, setSubscription] = useState | null>( null ); diff --git a/examples/test-app/src/utils.ts b/examples/test-app/src/utils.ts index 4edf803..e95b431 100644 --- a/examples/test-app/src/utils.ts +++ b/examples/test-app/src/utils.ts @@ -23,7 +23,7 @@ export function getConnectionInfo(): ClientConnectionInfo { ) { connectionInfo = parsedConnectionInfo; } - } catch (e) { + } catch (_e) { // JSON parsing failed } } diff --git a/package.json b/package.json index 3d441a2..0d26a8c 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "packageManager": "pnpm@8.15.6", "engines": { - "node": ">=18" + "node": ">=22" }, "dependencies": { "mprocs": "^0.7.1" diff --git a/packages/app-connector/.eslintrc.cjs b/packages/app-connector/.eslintrc.cjs deleted file mode 100644 index 6674164..0000000 --- a/packages/app-connector/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["@parcnet/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.lint.json", - tsconfigRootDir: __dirname - } -}; diff --git a/packages/app-connector/package.json b/packages/app-connector/package.json index d1e7453..8beed13 100644 --- a/packages/app-connector/package.json +++ b/packages/app-connector/package.json @@ -36,11 +36,10 @@ "@types/mocha": "^10.0.1", "@types/node": "^22.5.4", "chai-as-promised": "^7.1.1", - "eslint": "^8", "mocha": "^10.2.0", "tsup": "^8.2.4", "tsx": "^4.19.0", - "typescript": "^5.3.3" + "typescript": "^5.5" }, "publishConfig": { "access": "public", diff --git a/packages/app-connector/src/adapters/websocket.ts b/packages/app-connector/src/adapters/websocket.ts index 83bfc16..8a405cd 100644 --- a/packages/app-connector/src/adapters/websocket.ts +++ b/packages/app-connector/src/adapters/websocket.ts @@ -11,11 +11,12 @@ import { DialogController } from "./iframe.js"; class DialogControllerImpl implements DialogController { public show(): void { - console.log("toooooooast"); toast.info("Your PARCNET client requests interaction"); } - public close(): void {} + public close(): void { + // Does nothing + } } export function connectWebsocket(zapp: Zapp, url: string): Promise { diff --git a/packages/app-connector/src/api_wrapper.ts b/packages/app-connector/src/api_wrapper.ts index ab4c9d8..95ebb4f 100644 --- a/packages/app-connector/src/api_wrapper.ts +++ b/packages/app-connector/src/api_wrapper.ts @@ -10,8 +10,6 @@ import { EventEmitter } from "eventemitter3"; import { PodspecProofRequest } from "../../podspec/src/index.js"; import { ParcnetRPCConnector } from "./rpc_client.js"; -type QueryType = p.PodSpec; - /** * A Subscription object is returned to the caller when a subscription is * created. It allows the caller to attach event listeners to the subscription @@ -120,13 +118,11 @@ class ParcnetGPCWrapper { * query data. */ export class ParcnetAPI { - #api: ParcnetRPCConnector; public pod: ParcnetPODWrapper; public identity: ParcnetIdentityRPC; public gpc: ParcnetGPCWrapper; constructor(api: ParcnetRPCConnector) { - this.#api = api; this.pod = new ParcnetPODWrapper(api); this.identity = api.identity; this.gpc = new ParcnetGPCWrapper(api); diff --git a/packages/app-connector/src/rpc_client.ts b/packages/app-connector/src/rpc_client.ts index fa62dd7..4e78f90 100644 --- a/packages/app-connector/src/rpc_client.ts +++ b/packages/app-connector/src/rpc_client.ts @@ -48,7 +48,7 @@ export class ParcnetRPCConnector implements ParcnetRPC, ParcnetEvents { { resolve: (value: unknown) => void; reject: (reason?: unknown) => void } >(); #emitter: EventEmitter; - #connected: boolean = false; + #connected = false; /** * Invoke a method on the remote client. diff --git a/packages/app-connector/test/utils.ts b/packages/app-connector/test/utils.ts index 3d89feb..0e19046 100644 --- a/packages/app-connector/test/utils.ts +++ b/packages/app-connector/test/utils.ts @@ -4,8 +4,12 @@ import { DialogController, postRPCMessage } from "../src"; import { ParcnetRPCConnector } from "../src/rpc_client"; export const mockDialog: DialogController = { - show: () => {}, - close: () => {} + show: () => { + // Intentionally empty + }, + close: () => { + // Intentionally empty + } }; export async function connectedClient(): Promise<{ diff --git a/packages/client-helpers/.eslintrc.cjs b/packages/client-helpers/.eslintrc.cjs deleted file mode 100644 index 6674164..0000000 --- a/packages/client-helpers/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["@parcnet/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.lint.json", - tsconfigRootDir: __dirname - } -}; diff --git a/packages/client-helpers/package.json b/packages/client-helpers/package.json index 255beb3..44ab7ff 100644 --- a/packages/client-helpers/package.json +++ b/packages/client-helpers/package.json @@ -43,9 +43,8 @@ "@types/json-bigint": "^1.0.1", "@types/node": "^20.11.24", "@types/ws": "^8.5.12", - "eslint": "^8", "tsup": "^8.2.4", - "typescript": "^5.3.3" + "typescript": "^5.5" }, "publishConfig": { "exports": { diff --git a/packages/client-rpc/.eslintrc.cjs b/packages/client-rpc/.eslintrc.cjs deleted file mode 100644 index 6674164..0000000 --- a/packages/client-rpc/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["@parcnet/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.lint.json", - tsconfigRootDir: __dirname - } -}; diff --git a/packages/client-rpc/package.json b/packages/client-rpc/package.json index 8ecf7fa..0a19ce2 100644 --- a/packages/client-rpc/package.json +++ b/packages/client-rpc/package.json @@ -24,9 +24,8 @@ "devDependencies": { "@parcnet/eslint-config": "workspace:*", "@parcnet/typescript-config": "workspace:*", - "eslint": "^8", "tsup": "^8.2.4", - "typescript": "^5.3.3" + "typescript": "^5.5" }, "publishConfig": { "access": "public", diff --git a/packages/client-rpc/src/rpc_interfaces.ts b/packages/client-rpc/src/rpc_interfaces.ts index 109240b..c32e099 100644 --- a/packages/client-rpc/src/rpc_interfaces.ts +++ b/packages/client-rpc/src/rpc_interfaces.ts @@ -7,6 +7,7 @@ import { GPCBoundConfig, GPCProof, GPCRevealedClaims } from "@pcd/gpc"; * These interfaces are implemented in rpc_client.ts. */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type PODQuery = PODSchema; export interface SubscriptionUpdateResult { diff --git a/packages/client-rpc/src/schema.ts b/packages/client-rpc/src/schema.ts index ae7abb1..aedbdf5 100644 --- a/packages/client-rpc/src/schema.ts +++ b/packages/client-rpc/src/schema.ts @@ -1,25 +1,6 @@ import { z } from "zod"; import { ParcnetRPC } from "./rpc_interfaces.js"; -const PODValueSchema = z.discriminatedUnion("type", [ - z.object({ - type: z.literal("string"), - value: z.string() - }), - z.object({ - type: z.literal("int"), - value: z.bigint() - }), - z.object({ - type: z.literal("cryptographic"), - value: z.bigint() - }), - z.object({ - type: z.literal("eddsa_pubkey"), - value: z.string() - }) -]); - export const ParcnetRPCSchema = z.object({ _version: z.literal("1"), gpc: z.object({ diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index 8b42d90..a4bae7c 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -1,3 +1,3 @@ -# `@turbo/eslint-config` +# `@parcnet/eslint-config` Collection of internal eslint configurations. diff --git a/packages/eslint-config/eslint.base.config.mjs b/packages/eslint-config/eslint.base.config.mjs new file mode 100644 index 0000000..99cff36 --- /dev/null +++ b/packages/eslint-config/eslint.base.config.mjs @@ -0,0 +1,58 @@ +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; +import pluginChaiFriendly from "eslint-plugin-chai-friendly"; +import hooksPlugin from "eslint-plugin-react-hooks"; +import eslintPluginPrettier from "eslint-plugin-prettier"; +import eslintPluginTurbo from "eslint-plugin-turbo"; + +export default tseslint.config( + eslint.configs.recommended, + ...tseslint.configs.recommended, + ...tseslint.configs.stylistic, + + { + ignores: ["**/node_modules/*", "**/dist/"] // global ignore with single ignore key + }, + { + languageOptions: { + parserOptions: { + project: false, + tsconfigRootDir: import.meta.dirname + } + }, + files: ["src/**/*.{ts,tsx}"] + }, + { + plugins: { + "chai-friendly": pluginChaiFriendly, + "react-hooks": hooksPlugin, + prettier: eslintPluginPrettier, + turbo: eslintPluginTurbo + }, + rules: { + ...hooksPlugin.configs.recommended.rules, + "prettier/prettier": "error", + "turbo/no-undeclared-env-vars": "error" + } + }, + { + rules: { + "@typescript-eslint/no-unused-expressions": "off", + "chai-friendly/no-unused-expressions": "error", + "@typescript-eslint/consistent-type-definitions": "off", + // enable underscore ignore pattern for unused vars + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_" + } + ], + "no-case-declarations": "off", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "error" + } + } +); diff --git a/packages/eslint-config/eslint.reactInternal.config.mjs b/packages/eslint-config/eslint.reactInternal.config.mjs new file mode 100644 index 0000000..08b238a --- /dev/null +++ b/packages/eslint-config/eslint.reactInternal.config.mjs @@ -0,0 +1,13 @@ +import baseConfig from "./eslint.base.config.mjs"; +import tseslint from "typescript-eslint"; +import globals from "globals"; + +export default tseslint.config(...baseConfig, { + languageOptions: { + globals: { + ...globals.browser, + React: true, + JSX: true + } + } +}); diff --git a/packages/eslint-config/library.js b/packages/eslint-config/library.js deleted file mode 100644 index 0d35688..0000000 --- a/packages/eslint-config/library.js +++ /dev/null @@ -1,47 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "prettier", - "turbo" - ], - plugins: ["only-warn", "@typescript-eslint", "react-hooks"], - globals: { - React: true, - JSX: true - }, - env: { - node: true - }, - settings: { - "import/resolver": { - typescript: { - project - } - } - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - ".*.cjs", - "node_modules/", - "dist/" - ], - overrides: [ - { - files: ["*.js?(x)", "*.ts?(x)"] - } - ], - rules: { - "no-unused-vars": "off", - "no-case-declarations": "off", - "@typescript-eslint/no-unused-vars": "error", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "error" - } -}; diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js deleted file mode 100644 index 88445be..0000000 --- a/packages/eslint-config/next.js +++ /dev/null @@ -1,35 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: [ - "eslint:recommended", - "prettier", - require.resolve("@vercel/style-guide/eslint/next"), - "turbo", - ], - globals: { - React: true, - JSX: true, - }, - env: { - node: true, - browser: true, - }, - plugins: ["only-warn"], - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - ], - overrides: [{ files: ["*.js?(x)", "*.ts?(x)"] }], -}; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index f7f8b5f..2a4c462 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -2,19 +2,21 @@ "name": "@parcnet/eslint-config", "version": "0.0.0", "private": true, - "files": [ - "library.js", - "next.js", - "react-internal.js" - ], + "type": "module", "devDependencies": { - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", + "@eslint/js": "^9.9.0", + "@typescript-eslint/eslint-plugin": "^8.4.0", + "@typescript-eslint/parser": "^8.4.0", "eslint-config-prettier": "^9.1.0", "eslint-config-turbo": "^2.0.0", + "eslint-plugin-chai-friendly": "^1.0.1", "eslint-plugin-only-warn": "^1.1.0", + "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-tree-shaking": "^1.12.2", - "typescript": "^5.3.3" + "eslint-plugin-turbo": "^2.1.1", + "globals": "^15.9.0", + "typescript": "^5.3.3", + "typescript-eslint": "^8.0.1" } } diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js deleted file mode 100644 index bf0a208..0000000 --- a/packages/eslint-config/react-internal.js +++ /dev/null @@ -1,39 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/* - * This is a custom ESLint configuration for use with - * internal (bundled by their consumer) libraries - * that utilize React. - */ - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["eslint:recommended", "prettier", "turbo"], - plugins: ["only-warn"], - globals: { - React: true, - JSX: true, - }, - env: { - browser: true, - }, - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - ], - overrides: [ - // Force ESLint to detect .tsx files - { files: ["*.js?(x)", "*.ts?(x)"] }, - ], -}; diff --git a/packages/podspec/.eslintrc.cjs b/packages/podspec/.eslintrc.cjs deleted file mode 100644 index 6674164..0000000 --- a/packages/podspec/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["@parcnet/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.lint.json", - tsconfigRootDir: __dirname - } -}; diff --git a/packages/podspec/package.json b/packages/podspec/package.json index 9f2b5fa..652c601 100644 --- a/packages/podspec/package.json +++ b/packages/podspec/package.json @@ -30,11 +30,10 @@ "@types/mocha": "^10.0.1", "@types/uuid": "^9.0.0", "@zk-kit/eddsa-poseidon": "1.0.2", - "eslint": "^8.57.0", "mocha": "^10.2.0", "tsup": "^8.2.4", "tsx": "^4.19.0", - "typescript": "^5.3.3", + "typescript": "^5.5", "uuid": "^9.0.0" }, "publishConfig": { diff --git a/packages/podspec/src/parse/entry.ts b/packages/podspec/src/parse/entry.ts index 016edc8..0cca9c1 100644 --- a/packages/podspec/src/parse/entry.ts +++ b/packages/podspec/src/parse/entry.ts @@ -67,7 +67,7 @@ export function parseEntry( const valueToCheck = (value as PODIntValue | PODCryptographicValue).value; try { checkBigintBounds("", valueToCheck, min, max); - } catch (error) { + } catch (_error) { const issue: PodspecNotInRangeIssue = { code: IssueCode.not_in_range, value: valueToCheck, diff --git a/packages/podspec/test/podspec.spec.ts b/packages/podspec/test/podspec.spec.ts index 0317bfd..04fbe58 100644 --- a/packages/podspec/test/podspec.spec.ts +++ b/packages/podspec/test/podspec.spec.ts @@ -178,7 +178,7 @@ describe("podspec should work", async function () { // eslint-disable-next-line @typescript-eslint/no-explicit-any bar: { type: "invalid" } as any }) - ).to.throw; + ).to.throw(); }); it("should apply range checks", function () { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75d8334..988c28a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,9 +70,6 @@ importers: specifier: ^8.18.0 version: 8.18.0 devDependencies: - '@eslint/js': - specifier: ^9.9.0 - version: 9.9.1 '@types/json-bigint': specifier: ^1.0.1 version: 1.0.4 @@ -82,18 +79,12 @@ importers: esbuild: specifier: ^0.23.1 version: 0.23.1 - eslint: - specifier: ^9.9.0 - version: 9.9.1(jiti@1.21.6) tsx: specifier: ^4.19.0 version: 4.19.0 typescript: specifier: ^5.5.3 version: 5.5.4 - typescript-eslint: - specifier: ^8.0.1 - version: 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) apps/client-web: dependencies: @@ -131,9 +122,6 @@ importers: specifier: ^3.23.8 version: 3.23.8 devDependencies: - '@eslint/js': - specifier: ^9.9.0 - version: 9.9.1 '@types/react': specifier: ^18.3.3 version: 18.3.5 @@ -149,12 +137,6 @@ importers: eslint: specifier: ^9.9.0 version: 9.9.1(jiti@1.21.6) - eslint-plugin-react-hooks: - specifier: ^5.1.0-rc.0 - version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-react-refresh: - specifier: ^0.4.9 - version: 0.4.11(eslint@9.9.1(jiti@1.21.6)) globals: specifier: ^15.9.0 version: 15.9.0 @@ -165,11 +147,8 @@ importers: specifier: ^3.4.10 version: 3.4.10(ts-node@10.9.2(@types/node@22.5.4)(typescript@5.5.4)) typescript: - specifier: ^5.5.3 + specifier: ^5.5 version: 5.5.4 - typescript-eslint: - specifier: ^8.0.1 - version: 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^5.4.1 version: 5.4.2(@types/node@22.5.4) @@ -182,21 +161,9 @@ importers: '@parcnet/podspec': specifier: workspace:* version: link:../../packages/podspec - '@pcd/gpc-pcd': - specifier: 0.0.5 - version: 0.0.5 - '@pcd/pcd-types': - specifier: 0.11.4 - version: 0.11.4 '@pcd/pod': specifier: 0.1.5 version: 0.1.5 - '@pcd/pod-pcd': - specifier: 0.1.5 - version: 0.1.5 - '@pcd/semaphore-identity-pcd': - specifier: 0.11.4 - version: 0.11.4 dotenv: specifier: ^16.0.3 version: 16.4.5 @@ -240,12 +207,6 @@ importers: '@types/react-dom': specifier: ^18 version: 18.3.0 - '@typescript-eslint/eslint-plugin': - specifier: ^7.4.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^7.4.0 - version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) autoprefixer: specifier: ^10.0.1 version: 10.4.20(postcss@8.4.44) @@ -258,9 +219,6 @@ importers: esbuild-plugin-tailwindcss: specifier: ^1.2.1 version: 1.2.1(ts-node@10.9.2(@types/node@20.16.3)(typescript@5.5.4)) - eslint: - specifier: 8.57.0 - version: 8.57.0 postcss: specifier: ^8.4.38 version: 8.4.44 @@ -271,7 +229,7 @@ importers: specifier: ^10.9.2 version: 10.9.2(@types/node@20.16.3)(typescript@5.5.4) typescript: - specifier: ^5.3.3 + specifier: ^5.5 version: 5.5.4 packages/app-connector: @@ -325,9 +283,6 @@ importers: chai-as-promised: specifier: ^7.1.1 version: 7.1.2(chai@5.1.1) - eslint: - specifier: ^8 - version: 8.57.0 mocha: specifier: ^10.2.0 version: 10.7.3 @@ -338,7 +293,7 @@ importers: specifier: ^4.19.0 version: 4.19.0 typescript: - specifier: ^5.3.3 + specifier: ^5.5 version: 5.5.4 packages/client-helpers: @@ -368,14 +323,11 @@ importers: '@types/ws': specifier: ^8.5.12 version: 8.5.12 - eslint: - specifier: ^8 - version: 8.57.0 tsup: specifier: ^8.2.4 version: 8.2.4(jiti@1.21.6)(postcss@8.4.44)(tsx@4.19.0)(typescript@5.5.4)(yaml@2.5.0) typescript: - specifier: ^5.3.3 + specifier: ^5.5 version: 5.5.4 packages/client-rpc: @@ -396,23 +348,23 @@ importers: '@parcnet/typescript-config': specifier: workspace:* version: link:../typescript-config - eslint: - specifier: ^8 - version: 8.57.0 tsup: specifier: ^8.2.4 version: 8.2.4(jiti@1.21.6)(postcss@8.4.44)(tsx@4.19.0)(typescript@5.5.4)(yaml@2.5.0) typescript: - specifier: ^5.3.3 + specifier: ^5.5 version: 5.5.4 packages/eslint-config: devDependencies: + '@eslint/js': + specifier: ^9.9.0 + version: 9.9.1 '@typescript-eslint/eslint-plugin': - specifier: ^8.2.0 + specifier: ^8.4.0 version: 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/parser': - specifier: ^8.2.0 + specifier: ^8.4.0 version: 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) eslint-config-prettier: specifier: ^9.1.0 @@ -420,18 +372,33 @@ importers: eslint-config-turbo: specifier: ^2.0.0 version: 2.1.1(eslint@9.9.1(jiti@1.21.6)) + eslint-plugin-chai-friendly: + specifier: ^1.0.1 + version: 1.0.1(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-only-warn: specifier: ^1.1.0 version: 1.1.0 + eslint-plugin-prettier: + specifier: ^5.2.1 + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-react-hooks: specifier: ^5.1.0-rc.0 version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.1(jiti@1.21.6)) eslint-plugin-tree-shaking: specifier: ^1.12.2 version: 1.12.2 + eslint-plugin-turbo: + specifier: ^2.1.1 + version: 2.1.1(eslint@9.9.1(jiti@1.21.6)) + globals: + specifier: ^15.9.0 + version: 15.9.0 typescript: specifier: ^5.3.3 version: 5.5.4 + typescript-eslint: + specifier: ^8.0.1 + version: 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) packages/podspec: dependencies: @@ -463,9 +430,6 @@ importers: '@zk-kit/eddsa-poseidon': specifier: 1.0.2 version: 1.0.2 - eslint: - specifier: ^8.57.0 - version: 8.57.0 mocha: specifier: ^10.2.0 version: 10.7.3 @@ -476,7 +440,7 @@ importers: specifier: ^4.19.0 version: 4.19.0 typescript: - specifier: ^5.3.3 + specifier: ^5.5 version: 5.5.4 uuid: specifier: ^9.0.0 @@ -894,18 +858,10 @@ packages: resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.9.1': resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -935,19 +891,10 @@ packages: '@ethersproject/strings@5.7.0': resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - '@humanwhocodes/retry@0.3.0': resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} @@ -1051,42 +998,18 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@pcd/gpc-pcd@0.0.5': - resolution: {integrity: sha512-CCqeD/llDp7m7TE9xF8O6DeVZSbg2YRGJahrVO9wKdv6qiqnKLtADyZp/BwfKxxUOfT5DMT8jSNsh3lMTpQvGg==} - - '@pcd/gpc@0.0.5': - resolution: {integrity: sha512-zcfLSam34XOOZbBkefHBNSzDYNo3IgZHNGSPfp5gbBDx525n77UT2n+YVH39i4UqQnxOGaEHy4KTrNTmbG5EEg==} - '@pcd/gpc@0.0.6': resolution: {integrity: sha512-qlN1895ZBsY7cjikNbgxMG2V+2PsnHgvaew2f1tEB6HmJaEiYdPi/cP+fJgKrLqPmDA37p8aOx4CUq+k/do6aA==} - '@pcd/gpcircuits@0.1.4': - resolution: {integrity: sha512-UNEVfM5jPFIVa46xWTMrPDlSZQXHSshA4FmxdW1NXFJQWRYQ8qnM1Au/D74dJz7qhoX0hgQLds+uo/CK757Hcg==} - '@pcd/gpcircuits@0.1.5': resolution: {integrity: sha512-Ivlzyu8+flgOUmq/N+mWw1y6bvzY58HLjI1KAFPxOsGI3evVStrgg5j91z80rRJJK50ohG6aL5lX59zG4sV3YA==} - '@pcd/pcd-types@0.11.4': - resolution: {integrity: sha512-IxPzs5dFc9O7mtcusbEMNln3lWtoyMkxPLbcJTbmlR+HGURNxDR5ZumXlXTOv8LL1OwkY1TaU1EkrhXVnVWdNA==} - - '@pcd/pod-pcd@0.1.4': - resolution: {integrity: sha512-ZKtCs9pikZc9Qg6snq9oRrRTGYRP84Uw6Ljb2409x5qy0n8Pc+VwUvNdSAQVzIACDMnIU2fkzRUdoczCkbGiiA==} - - '@pcd/pod-pcd@0.1.5': - resolution: {integrity: sha512-vIfqEDDUEtae1swMwAvLFjTzrJw3TS4fGz6NZV8U0t60BPscPx9wEV9phzG2op2MWzaLdT1OVCH7wG/uZMQ+cg==} - - '@pcd/pod@0.1.4': - resolution: {integrity: sha512-mYD0AwE1JAFIuZQ8plJKZkbH9I2TFYxNp9B3pbdCnaycP0SWw8YJK0+kaWMItovzcAitYDC3ISYTf40hWMz7Xg==} - '@pcd/pod@0.1.5': resolution: {integrity: sha512-3xdpPlyABFJn9/iag4jBBvTNU1kdXD2d1EQWz3lOvqcxpWK+ov/0eU1qPcsHk2yKAbftZ33lrP+4CA6k3M4BdA==} '@pcd/proto-pod-gpc-artifacts@0.5.0': resolution: {integrity: sha512-YL23VeD2KemZlDrDZ38PbO9UsGh3x1yNnvNqstL5wbEmv9H+HUNXRJU07TmaJ2JYoWJpEPZ9g/yJ0oxSD6qSjg==} - '@pcd/semaphore-identity-pcd@0.11.4': - resolution: {integrity: sha512-/N6oEGE7cSRyW6EPgNYmt0G+EaGpXn6mdDmJBtGFRCgnqhcOVdvn/ukHniXkcmQBN18pnP4CqD/cVH0dt7bi2Q==} - '@pcd/util@0.5.3': resolution: {integrity: sha512-mAfbpQrl2CYJJwNDHJKwkUD0JYuEAtD3Tli87hb7jZ3vvHmtT/mXlivbpnNZ5uyoowiArnhPMwng/2JmyuU3Cw==} @@ -1094,6 +1017,10 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} @@ -1315,17 +1242,6 @@ packages: '@types/ws@8.5.12': resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} - '@typescript-eslint/eslint-plugin@7.18.0': - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/eslint-plugin@8.4.0': resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1337,16 +1253,6 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.18.0': - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/parser@8.4.0': resolution: {integrity: sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1357,24 +1263,10 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.18.0': - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.4.0': resolution: {integrity: sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.18.0': - resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/type-utils@8.4.0': resolution: {integrity: sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1384,23 +1276,10 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.18.0': - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.4.0': resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@8.4.0': resolution: {integrity: sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1410,29 +1289,16 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - '@typescript-eslint/utils@8.4.0': resolution: {integrity: sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.18.0': - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.4.0': resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitejs/plugin-react@4.3.1': resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1902,10 +1768,6 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} engines: {node: '>=10'} @@ -2008,21 +1870,36 @@ packages: peerDependencies: eslint: '>6.6.0' + eslint-plugin-chai-friendly@1.0.1: + resolution: {integrity: sha512-dxD/uz1YKJ8U4yah1i+V/p/u+kHRy3YxTPe2nJGqb5lCR+ucan/KIexfZ5+q4X+tkllyMe86EBbAkdlwxNy3oQ==} + engines: {node: '>=0.10.0'} + peerDependencies: + eslint: '>=3.0.0' + eslint-plugin-only-warn@1.1.0: resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} engines: {node: '>=6'} + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614: resolution: {integrity: sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-refresh@0.4.11: - resolution: {integrity: sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw==} - peerDependencies: - eslint: '>=7' - eslint-plugin-tree-shaking@1.12.2: resolution: {integrity: sha512-D3MBKjH9EaGZg1gxqezGmjCeWzHs/O0jRFajpuXLYKeOCh3ycgoXeZ1ceKaD2QnK+v18ly+XjNDUCgss4vKbWg==} engines: {node: '>=6.0.0'} @@ -2032,10 +1909,6 @@ packages: peerDependencies: eslint: '>6.6.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.2: resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2048,11 +1921,6 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - eslint@9.9.1: resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2067,10 +1935,6 @@ packages: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@1.2.2: resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} engines: {node: '>=0.4.0'} @@ -2136,6 +2000,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -2158,10 +2025,6 @@ packages: ffjavascript@0.3.0: resolution: {integrity: sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2181,10 +2044,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -2262,10 +2121,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} @@ -2275,10 +2130,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2844,10 +2695,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3004,6 +2851,10 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -3121,11 +2972,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} @@ -3317,6 +3163,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} + engines: {node: ^14.18.0 || >=16.0.0} + tailwindcss@3.4.10: resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==} engines: {node: '>=14.0.0'} @@ -3389,6 +3239,9 @@ packages: '@swc/wasm': optional: true + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + tsup@8.2.4: resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==} engines: {node: '>=18'} @@ -3458,10 +3311,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -3974,11 +3823,6 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@1.21.6))': dependencies: eslint: 9.9.1(jiti@1.21.6) @@ -3994,20 +3838,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.6(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 @@ -4022,8 +3852,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} - '@eslint/js@9.9.1': {} '@eslint/object-schema@2.1.4': {} @@ -4060,18 +3888,8 @@ snapshots: '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} - '@humanwhocodes/retry@0.3.0': {} '@iden3/bigarray@0.0.2': {} @@ -4221,29 +4039,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@pcd/gpc-pcd@0.0.5': - dependencies: - '@pcd/gpc': 0.0.5 - '@pcd/pcd-types': 0.11.4 - '@pcd/pod-pcd': 0.1.4 - '@pcd/semaphore-identity-pcd': 0.11.4 - '@pcd/util': 0.5.3 - '@types/lodash': 4.17.7 - json-bigint: 1.0.0 - snarkjs: 0.7.4 - uuid: 9.0.1 - - '@pcd/gpc@0.0.5': - dependencies: - '@pcd/gpcircuits': 0.1.4 - '@pcd/pod': 0.1.4 - '@pcd/util': 0.5.3 - '@semaphore-protocol/identity': 3.15.2 - '@types/lodash': 4.17.7 - json-bigint: 1.0.0 - snarkjs: 0.7.4 - url-join: 4.0.1 - '@pcd/gpc@0.0.6': dependencies: '@pcd/gpcircuits': 0.1.5 @@ -4255,13 +4050,6 @@ snapshots: snarkjs: 0.7.4 url-join: 4.0.1 - '@pcd/gpcircuits@0.1.4': - dependencies: - '@pcd/pod': 0.1.4 - fastfile: 0.0.20 - snarkjs: 0.7.4 - url-join: 4.0.1 - '@pcd/gpcircuits@0.1.5': dependencies: '@pcd/pod': 0.1.5 @@ -4269,35 +4057,6 @@ snapshots: snarkjs: 0.7.4 url-join: 4.0.1 - '@pcd/pcd-types@0.11.4': {} - - '@pcd/pod-pcd@0.1.4': - dependencies: - '@pcd/pcd-types': 0.11.4 - '@pcd/pod': 0.1.4 - '@pcd/util': 0.5.3 - json-bigint: 1.0.0 - uuid: 9.0.1 - - '@pcd/pod-pcd@0.1.5': - dependencies: - '@pcd/pcd-types': 0.11.4 - '@pcd/pod': 0.1.5 - '@pcd/util': 0.5.3 - json-bigint: 1.0.0 - uuid: 9.0.1 - - '@pcd/pod@0.1.4': - dependencies: - '@pcd/util': 0.5.3 - '@zk-kit/baby-jubjub': 1.0.1 - '@zk-kit/eddsa-poseidon': 1.0.2 - '@zk-kit/lean-imt': 2.0.1 - '@zk-kit/utils': 1.2.0 - js-sha256: 0.10.1 - json-bigint: 1.0.0 - poseidon-lite: 0.2.1 - '@pcd/pod@0.1.5': dependencies: '@pcd/util': 0.5.3 @@ -4311,14 +4070,6 @@ snapshots: '@pcd/proto-pod-gpc-artifacts@0.5.0': {} - '@pcd/semaphore-identity-pcd@0.11.4': - dependencies: - '@pcd/pcd-types': 0.11.4 - '@pcd/util': 0.5.3 - '@semaphore-protocol/identity': 3.15.2 - json-bigint: 1.0.0 - uuid: 9.0.1 - '@pcd/util@0.5.3': dependencies: buffer: 6.0.3 @@ -4330,6 +4081,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@rollup/plugin-inject@5.0.5(rollup@4.21.2)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.21.2) @@ -4543,24 +4296,6 @@ snapshots: dependencies: '@types/node': 20.16.3 - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 @@ -4579,19 +4314,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@8.1.1) - eslint: 8.57.0 - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 8.4.0 @@ -4605,28 +4327,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.4.0': dependencies: '@typescript-eslint/types': 8.4.0 '@typescript-eslint/visitor-keys': 8.4.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - debug: 4.3.6(supports-color@8.1.1) - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) @@ -4639,25 +4344,8 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.4.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.4.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 8.4.0 @@ -4673,17 +4361,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) @@ -4695,18 +4372,11 @@ snapshots: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.4.0': dependencies: '@typescript-eslint/types': 8.4.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@22.5.4))': dependencies: '@babel/core': 7.25.2 @@ -5228,10 +4898,6 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - domain-browser@4.23.0: {} dotenv@16.0.3: {} @@ -5371,13 +5037,22 @@ snapshots: eslint: 9.9.1(jiti@1.21.6) eslint-plugin-turbo: 2.1.1(eslint@9.9.1(jiti@1.21.6)) + eslint-plugin-chai-friendly@1.0.1(eslint@9.9.1(jiti@1.21.6)): + dependencies: + eslint: 9.9.1(jiti@1.21.6) + eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.1(jiti@1.21.6)): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6))(prettier@3.3.3): dependencies: eslint: 9.9.1(jiti@1.21.6) + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.1 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-react-refresh@0.4.11(eslint@9.9.1(jiti@1.21.6)): + eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.1(jiti@1.21.6)): dependencies: eslint: 9.9.1(jiti@1.21.6) @@ -5388,11 +5063,6 @@ snapshots: dotenv: 16.0.3 eslint: 9.9.1(jiti@1.21.6) - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@8.0.2: dependencies: esrecurse: 4.3.0 @@ -5402,49 +5072,6 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@8.57.0: - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.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.6(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - 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.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - eslint@9.9.1(jiti@1.21.6): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) @@ -5492,12 +5119,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.0.0 - espree@9.6.1: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 - esprima@1.2.2: {} esprima@4.0.1: {} @@ -5587,6 +5208,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5613,10 +5236,6 @@ snapshots: wasmcurves: 0.2.2 web-worker: 1.2.0 - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -5646,12 +5265,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - flat-cache@4.0.1: dependencies: flatted: 3.3.1 @@ -5724,15 +5337,6 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - glob@8.1.0: dependencies: fs.realpath: 1.0.0 @@ -5743,10 +5347,6 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - globals@14.0.0: {} globals@15.9.0: {} @@ -6287,8 +5887,6 @@ snapshots: path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-parse@1.0.7: {} @@ -6427,6 +6025,10 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + prettier@3.3.3: {} pretty-ms@9.1.0: @@ -6548,10 +6150,6 @@ snapshots: reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - ripemd160@2.0.2: dependencies: hash-base: 3.1.0 @@ -6787,6 +6385,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.9.1: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.7.0 + tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.3)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 @@ -6920,6 +6523,8 @@ snapshots: yn: 3.1.1 optional: true + tslib@2.7.0: {} + tsup@8.2.4(jiti@1.21.6)(postcss@8.4.44)(tsx@4.19.0)(typescript@5.5.4)(yaml@2.5.0): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) @@ -6991,8 +6596,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-is@1.6.18: