From 3c71b8c8f8adb09efe7a5fabd02c45f43370c3fc Mon Sep 17 00:00:00 2001 From: Felicio Mununga Date: Thu, 14 Nov 2024 06:50:42 +0100 Subject: [PATCH] update ESLint (#636) * update ESLint * f * f * f * c * f * f * f * f * r * u * f * f * u --- .changeset/itchy-insects-vanish.md | 10 + .eslintignore | 6 - .vscode/settings.json | 6 + apps/connector/.eslintrc.js | 39 - apps/connector/Jenkinsfile | 4 +- apps/connector/eslint.config.mjs | 37 + apps/connector/package.json | 8 +- apps/connector/src/components/status-tag.tsx | 4 +- apps/connector/src/contents/provider.ts | 2 +- eslint.config.mjs | 13 + package.json | 10 +- packages/colors/.eslintrc | 4 - packages/colors/eslint.config.mjs | 4 + packages/components/.eslintrc | 7 - packages/components/eslint.config.mjs | 4 + packages/components/package.json | 2 +- .../components/src/avatar/avatar.stories.tsx | 3 +- .../src/icon-button/icon-button.stories.tsx | 2 +- .../src/shortcut/shortcut.stories.tsx | 2 +- packages/components/src/skeleton/skeleton.tsx | 1 + packages/components/src/tag/tag.tsx | 8 +- packages/components/src/types.ts | 2 +- packages/eslint-config/eslint.config.mjs | 9 + packages/eslint-config/index.js | 261 +- packages/eslint-config/package.json | 34 +- packages/icons/.eslintrc | 5 - packages/icons/eslint.config.mjs | 9 + packages/icons/package.json | 4 +- packages/status-js/.eslintrc | 13 - packages/status-js/eslint.config.mjs | 13 + .../status-js/src/client/activityCenter.ts | 2 +- packages/status-js/src/client/chat.ts | 44 +- packages/status-js/src/client/client.ts | 6 +- .../src/client/community/community.ts | 28 +- .../src/client/community/get-reactions.ts | 2 +- .../client/community/handle-waku-message.ts | 18 +- .../src/client/community/is-encrypted.ts | 4 +- .../src/client/community/map-chat-message.ts | 2 +- packages/status-js/src/client/storage.ts | 2 +- .../status-js/src/crypto/pbkdf2.browser.ts | 6 +- .../src/ethereum-client/ethereum-client.ts | 10 +- .../src/helpers/get-difference-by-keys.ts | 2 +- .../src/helpers/get-objects-difference.ts | 2 +- .../src/request-client/map-channel.ts | 2 +- .../src/request-client/map-community.ts | 2 +- .../status-js/src/request-client/map-user.ts | 2 +- .../src/request-client/request-client.ts | 58 +- .../src/utils/compress-public-key.ts | 2 +- .../status-js/src/utils/create-url.test.ts | 28 +- packages/status-js/src/utils/create-url.ts | 8 +- .../src/utils/decompress-public-key.ts | 2 +- .../src/utils/deserialize-public-key.test.ts | 22 +- .../src/utils/deserialize-public-key.ts | 4 +- .../src/utils/encode-url-data.test.ts | 8 +- .../utils/generate-key-from-password.test.ts | 4 +- .../src/utils/generate-key-from-password.ts | 4 +- .../status-js/src/utils/is-clock-valid.ts | 2 +- packages/status-js/src/utils/payload-to-id.ts | 2 +- .../utils/public-key-to-color-hash.test.ts | 12 +- .../src/utils/public-key-to-color-hash.ts | 8 +- .../utils/public-key-to-emoji-hash.test.ts | 24 +- .../src/utils/public-key-to-emoji-hash.ts | 4 +- .../utils/public-key-to-eth-address.test.ts | 4 +- .../src/utils/recover-public-key.test.ts | 6 +- .../status-js/src/utils/recover-public-key.ts | 2 +- .../src/utils/serialize-public-key.test.ts | 16 +- .../src/utils/serialize-public-key.ts | 4 +- packages/status-js/src/utils/sign-data.ts | 4 +- pnpm-lock.yaml | 2216 ++++++++++------- turbo.json | 3 + 70 files changed, 1879 insertions(+), 1228 deletions(-) create mode 100644 .changeset/itchy-insects-vanish.md delete mode 100644 .eslintignore delete mode 100644 apps/connector/.eslintrc.js create mode 100644 apps/connector/eslint.config.mjs create mode 100644 eslint.config.mjs delete mode 100644 packages/colors/.eslintrc create mode 100644 packages/colors/eslint.config.mjs delete mode 100644 packages/components/.eslintrc create mode 100644 packages/components/eslint.config.mjs create mode 100644 packages/eslint-config/eslint.config.mjs delete mode 100644 packages/icons/.eslintrc create mode 100644 packages/icons/eslint.config.mjs delete mode 100644 packages/status-js/.eslintrc create mode 100644 packages/status-js/eslint.config.mjs diff --git a/.changeset/itchy-insects-vanish.md b/.changeset/itchy-insects-vanish.md new file mode 100644 index 00000000..5c6c551d --- /dev/null +++ b/.changeset/itchy-insects-vanish.md @@ -0,0 +1,10 @@ +--- +'@status-im/eslint-config': patch +'@status-im/components': patch +'@status-im/js': patch +'@status-im/colors': patch +'connector': patch +'@status-im/icons': patch +--- + +update ESLint diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 8055da54..00000000 --- a/.eslintignore +++ /dev/null @@ -1,6 +0,0 @@ -**/dist -**/node_modules -**/protos -**/proto -**/coverage -**/storybook-static diff --git a/.vscode/settings.json b/.vscode/settings.json index 08d152b0..0bb9ccf6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,13 @@ { "typescript.tsdk": "node_modules/typescript/lib", "npm.packageManager": "pnpm", + "eslint.useESLintClass": true, "eslint.workingDirectories": [ + "./packages/colors", + "./packages/icons", + "./packages/components", + "./packages/status-js", + "./apps/connector", { "mode": "auto", "#comment": "See https://github.com/microsoft/vscode-eslint/issues/1161 for reason (i.e. multiple .eslintrc config files)" diff --git a/apps/connector/.eslintrc.js b/apps/connector/.eslintrc.js deleted file mode 100644 index efd303c1..00000000 --- a/apps/connector/.eslintrc.js +++ /dev/null @@ -1,39 +0,0 @@ -module.exports = { - root: true, - overrides: [ - { - files: ['*.ts', '*.tsx'], - extends: ['@status-im/eslint-config', 'plugin:tailwindcss/recommended'], - - rules: { - 'no-constant-binary-expression': 'error', - 'no-restricted-globals': ['error', 'process'], - 'jsx-a11y/alt-text': [ - 1, - { - img: [], - }, - ], - }, - }, - { - // parser: 'esprima', - files: ['*.mjs'], - // env: { - // browser: true, - // es2021: true, - // }, - // extends: ['eslint:recommended', 'plugin:import/recommended'], - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - }, - }, - { - files: ['*.js'], - parserOptions: { - ecmaVersion: 'latest', - }, - }, - ], -} diff --git a/apps/connector/Jenkinsfile b/apps/connector/Jenkinsfile index 7caa744a..fbda707f 100644 --- a/apps/connector/Jenkinsfile +++ b/apps/connector/Jenkinsfile @@ -62,10 +62,10 @@ pipeline { expression { changesDetected } } steps { - dir("${env.WORKSPACE}/apps/connector") { + dir("${env.WORKSPACE}") { script { nix.shell( - 'pnpm build:chrome', + 'pnpm turbo run build --filter=connector', pure: false, entryPoint: "${env.WORKSPACE}/apps/connector/shell.nix" ) diff --git a/apps/connector/eslint.config.mjs b/apps/connector/eslint.config.mjs new file mode 100644 index 00000000..221ad6ac --- /dev/null +++ b/apps/connector/eslint.config.mjs @@ -0,0 +1,37 @@ +import configs, { tailwindcssConfigs } from '@status-im/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...configs, + ...tailwindcssConfigs, + { + files: ['*.ts', '*.tsx'], + rules: { + 'no-constant-binary-expression': 'error', + 'no-restricted-globals': ['error', 'process'], + 'jsx-a11y/alt-text': [ + 1, + { + img: [], + }, + ], + }, + }, + { + files: ['*.mjs'], + languageOptions: { + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + }, + }, + { + files: ['*.js'], + languageOptions: { + parserOptions: { + ecmaVersion: 'latest', + }, + }, + }, +] diff --git a/apps/connector/package.json b/apps/connector/package.json index 845e726a..a93a80fa 100644 --- a/apps/connector/package.json +++ b/apps/connector/package.json @@ -13,9 +13,10 @@ "dev:chrome": "plasmo dev --target=chrome-mv3", "dev:safari": "plasmo dev --target=safari-mv3", "dev:firefox": "plasmo dev --target=firefox-mv3", + "build": "pnpm build:chrome", "build:chrome": "plasmo build --target=chrome-mv3", "build:firefox": "plasmo build --target=firefox-mv3 --zip", - "lint": "eslint ./src", + "lint": "eslint src", "format": "prettier --write .", "package": "plasmo package", "clean": "rimraf apps build .plasmo node_modules" @@ -25,7 +26,7 @@ "@plasmohq/storage": "^1.11.0", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-switch": "^1.1.0", - "@status-im/colors": "^0.4.0", + "@status-im/colors": "workspace:*", "cva": "^1.0.0-beta.1", "ethers": "^6.13.0", "plasmo": "0.88.0", @@ -37,7 +38,7 @@ "devDependencies": { "@ianvs/prettier-plugin-sort-imports": "4.1.1", "@parcel/bundler-experimental": "^2.7.0", - "@status-im/eslint-config": "^0.3.0", + "@status-im/eslint-config": "workspace:*", "@tailwindcss/typography": "^0.5.13", "@types/chrome": "0.0.258", "@types/node": "20.11.5", @@ -45,7 +46,6 @@ "@types/react-dom": "18.2.18", "autoprefixer": "^10.4.19", "husky": "^8.0.3", - "lint-staged": "^13.2.0", "postcss": "^8.4.38", "prettier": "3.2.4", "prettier-plugin-tailwindcss": "^0.6.1", diff --git a/apps/connector/src/components/status-tag.tsx b/apps/connector/src/components/status-tag.tsx index 9881a7b6..3e149f55 100644 --- a/apps/connector/src/components/status-tag.tsx +++ b/apps/connector/src/components/status-tag.tsx @@ -9,8 +9,8 @@ const styles = cva({ base: 'flex h-6 items-center gap-1 rounded-[20px] border px-2 text-13', variants: { status: { - on: 'border-success-/20 bg-success-/10 text-success-60', - off: 'border-danger-/20 bg-danger-/10 text-danger-60', + on: 'border-success-50/20 bg-success-50/10 text-success-60', + off: 'border-danger-50/20 bg-danger-50/10 text-danger-60', }, }, }) diff --git a/apps/connector/src/contents/provider.ts b/apps/connector/src/contents/provider.ts index c41e6b2e..6b0a09b3 100644 --- a/apps/connector/src/contents/provider.ts +++ b/apps/connector/src/contents/provider.ts @@ -127,7 +127,7 @@ export class Provider { return } } - } catch (error) { + } catch { // we don't reject here because incoming message is not from the proxy return } diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..59520d06 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,13 @@ +/** @type {import('eslint').Linter.Config[]} */ +export default [ + { + ignores: [ + '**/dist', + '**/node_modules', + '**/protos', + '**/proto', + '**/coverage', + '**/storybook-static', + ], + }, +] diff --git a/package.json b/package.json index f0c97446..5cd24200 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "packages/status-js", "packages/colors", "packages/icons", - "packages/components" + "packages/components", + "apps/connector" ] }, "keywords": [], @@ -16,8 +17,8 @@ "prepare": "husky install", "test": "turbo run test --filter=@status-im/* -- --run", "dev": "turbo run dev --filter=@status-im/* --parallel", - "build": "turbo run build --filter=@status-im/* && node --version", - "lint": "turbo run lint --filter=@status-im/* --filter=web", + "build": "turbo run build --filter=@status-im/* --filter=connector", + "lint": "turbo run lint --filter=@status-im/* --filter=connector", "typecheck": "turbo run typecheck", "format": "prettier --write .", "clean": "turbo run clean && rimraf node_modules", @@ -32,8 +33,9 @@ "@status-im/eslint-config": "workspace:*", "@tsconfig/strictest": "^2.0.0", "@types/prettier": "^2.7.2", + "eslint": "^9.14.0", "husky": "^8.0.3", - "lint-staged": "^13.2.0", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", "prettier-plugin-tailwindcss": "^0.6.6", "@types/react": "^18.0.33", diff --git a/packages/colors/.eslintrc b/packages/colors/.eslintrc deleted file mode 100644 index bef97c7d..00000000 --- a/packages/colors/.eslintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "root": true, - "extends": ["@status-im/eslint-config"] -} diff --git a/packages/colors/eslint.config.mjs b/packages/colors/eslint.config.mjs new file mode 100644 index 00000000..d344eddc --- /dev/null +++ b/packages/colors/eslint.config.mjs @@ -0,0 +1,4 @@ +import configs from '@status-im/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [...configs] diff --git a/packages/components/.eslintrc b/packages/components/.eslintrc deleted file mode 100644 index 4559223f..00000000 --- a/packages/components/.eslintrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "root": true, - "extends": ["plugin:tailwindcss/recommended", "@status-im/eslint-config"], - "rules": { - "tailwindcss/classnames-order": "off" - } -} diff --git a/packages/components/eslint.config.mjs b/packages/components/eslint.config.mjs new file mode 100644 index 00000000..13e6322d --- /dev/null +++ b/packages/components/eslint.config.mjs @@ -0,0 +1,4 @@ +import configs, { tailwindcssConfigs } from '@status-im/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [...configs, ...tailwindcssConfigs] diff --git a/packages/components/package.json b/packages/components/package.json index 4c266f7d..5affe702 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -31,7 +31,7 @@ "preinstall": "npx only-allow pnpm", "dev": "vite build --watch --mode development", "build": "vite build", - "postbuild": "pnpm build:types && node --version", + "postbuild": "pnpm build:types", "build:types": "tsc --noEmit false --emitDeclarationOnly", "typecheck": "tsc", "lint": "eslint src", diff --git a/packages/components/src/avatar/avatar.stories.tsx b/packages/components/src/avatar/avatar.stories.tsx index fb68a6e3..4b5b5c02 100644 --- a/packages/components/src/avatar/avatar.stories.tsx +++ b/packages/components/src/avatar/avatar.stories.tsx @@ -14,6 +14,7 @@ const sizesAvatar = { } const renderVariant = (variant: AvatarProps['type']) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const content = (props: any) => { const sizes = sizesAvatar[variant] @@ -47,7 +48,7 @@ const meta = { }, render: props => ( -
+

User Avatar

{renderVariant('user')({ ...props, diff --git a/packages/components/src/icon-button/icon-button.stories.tsx b/packages/components/src/icon-button/icon-button.stories.tsx index 54f79bf1..a155df6d 100644 --- a/packages/components/src/icon-button/icon-button.stories.tsx +++ b/packages/components/src/icon-button/icon-button.stories.tsx @@ -7,7 +7,7 @@ import type { Meta, StoryObj } from '@storybook/react' const sizes = ['40', '32', '24'] as const -// eslint-disable-next-line react/display-name +// eslint-disable-next-line @typescript-eslint/no-explicit-any const renderVariant = (variant: string) => (props: any) => (
{sizes.map(size => ( diff --git a/packages/components/src/shortcut/shortcut.stories.tsx b/packages/components/src/shortcut/shortcut.stories.tsx index 0a92425b..24a58776 100644 --- a/packages/components/src/shortcut/shortcut.stories.tsx +++ b/packages/components/src/shortcut/shortcut.stories.tsx @@ -6,7 +6,7 @@ import type { Meta, StoryObj } from '@storybook/react' const variants = ['primary', 'secondary', 'gray'] as const -// eslint-disable-next-line react/display-name +// eslint-disable-next-line @typescript-eslint/no-explicit-any const renderVariant = (variant: (typeof variants)[number]) => (props: any) => (
} /> diff --git a/packages/components/src/skeleton/skeleton.tsx b/packages/components/src/skeleton/skeleton.tsx index 2859a173..9809f74d 100644 --- a/packages/components/src/skeleton/skeleton.tsx +++ b/packages/components/src/skeleton/skeleton.tsx @@ -1,5 +1,6 @@ import { cva, cx, type VariantProps } from 'cva' +// eslint-disable-next-line @typescript-eslint/no-unused-vars const styles = cva({ base: 'animate-skeleton overflow-hidden', diff --git a/packages/components/src/tag/tag.tsx b/packages/components/src/tag/tag.tsx index 74b9b6d6..04c00186 100644 --- a/packages/components/src/tag/tag.tsx +++ b/packages/components/src/tag/tag.tsx @@ -27,13 +27,7 @@ function Tag( props: Props & (ButtonProps | DivProps), ref: Ref, ) { - const { - size = '32', - icon, - iconPlacement = 'left', - label, - ...rest - } = props + const { size = '32', icon, iconPlacement = 'left', label, ...rest } = props const iconOnly = Boolean(icon && !label) diff --git a/packages/components/src/types.ts b/packages/components/src/types.ts index 3931c295..7302e6b1 100644 --- a/packages/components/src/types.ts +++ b/packages/components/src/types.ts @@ -8,4 +8,4 @@ export type CustomisationColorType = keyof typeof customisation export type Prettify = { [K in keyof T]: T[K] -} & {} // eslint-disable-line @typescript-eslint/ban-types +} & {} diff --git a/packages/eslint-config/eslint.config.mjs b/packages/eslint-config/eslint.config.mjs new file mode 100644 index 00000000..7440f3d9 --- /dev/null +++ b/packages/eslint-config/eslint.config.mjs @@ -0,0 +1,9 @@ +import js from '@eslint/js' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + { + ...js.configs.recommended, + files: ['**/*.js', '**/*.mjs', '**/*.cjs'], + }, +] diff --git a/packages/eslint-config/index.js b/packages/eslint-config/index.js index 24ef38e2..aa3b5a4b 100644 --- a/packages/eslint-config/index.js +++ b/packages/eslint-config/index.js @@ -1,103 +1,174 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - // TODO: Enable type-aware linting (https://typescript-eslint.io/docs/linting/type-linting) - // "tsconfigRootDir": ".", - // "project": ["./packages/*/tsconfig.json"], - sourceType: 'module', - ecmaFeatures: { - jsx: true, - }, - warnOnUnsupportedTypeScriptVersion: true, +// // @ts-check + +import js from '@eslint/js' +import globals from 'globals' +import { + parser as typescriptParser, + plugin as typescriptPlugin, + configs as typescriptConfigs, +} from 'typescript-eslint' +import commentsPlugin from 'eslint-plugin-eslint-comments' +import * as importPlugin from 'eslint-plugin-import' +import jsxA11yPlugin from 'eslint-plugin-jsx-a11y' +import reactPlugin from 'eslint-plugin-react' +import reactHooksPlugin from 'eslint-plugin-react-hooks' +import simpleImportSortPlugin from 'eslint-plugin-simple-import-sort' +import prettierPlugin from 'eslint-plugin-prettier/recommended' +import tailwindcssPlugin from 'eslint-plugin-tailwindcss' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + { + name: '@status-im/eslint-config', }, - env: { - browser: true, - node: true, - }, - plugins: [ - '@typescript-eslint', - 'import', - 'simple-import-sort', - 'react', - 'jsx-a11y', - ], - extends: [ - 'plugin:@typescript-eslint/recommended', - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - // "plugin:@typescript-eslint/recommended-requiring-type-checking", - 'plugin:eslint-comments/recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - 'plugin:jsx-a11y/recommended', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended', - 'plugin:react/jsx-runtime', - 'prettier', - ], - overrides: [ - { - files: ['examples/**/*.tsx'], - rules: { - 'react/jsx-uses-react': 'off', - 'react/react-in-jsx-scope': 'off', - }, + { + plugins: { + import: importPlugin, }, - ], - rules: { - 'react/prop-types': 0, - // "@typescript-eslint/consistent-type-definitions": ["error", "interface"], - '@typescript-eslint/consistent-type-imports': 'error', - // TODO: turn on this rul - '@typescript-eslint/no-non-null-assertion': 'off', - // "@typescript-eslint/consistent-type-exports": "error", - 'simple-import-sort/imports': [ - 'error', - { - groups: [ - // Side effect imports. - ['^\\u0000'], - // `react` related packages come first. - ['^react$', '^react-dom$'], - // Things that start with a letter (or digit or underscore), or `@` followed by a letter. - ['^@?\\w'], - // Absolute imports and other imports such as Vue-style `@/foo`. - // Anything not matched in another group. - ['^'], - // Relative imports. - // Anything that starts with a dot. - ['^\\.'], - // type imports last as a separate group - ['^.+\\u0000$'], - ], - }, + rules: { + ...importPlugin.configs.recommended.rules, + }, + files: [ + '**/*.js', + '**/*.cjs', + '**/*.mjs', + '**/*.jsx', + '**/*.ts', + '**/*.mts', + '**/*.tsx', + '**/*.mdx', + ], // js, ts, mdx + }, + { + ...js.configs.recommended, + files: ['**/*.js', '**/*.mjs', '**/*.cjs', '**/*.ts', '**/*.tsx'], // js + }, + ...typescriptConfigs.recommended.map(config => ({ + ...config, + files: ['**/*.ts', '**/*.mts', '**/*.tsx'], + })), + { + ...jsxA11yPlugin.flatConfigs.recommended, + files: ['**/*.js', '**/*.mjs', '**/*.cjs', '**/*.ts', '**/*.tsx'], + }, + { + ...reactPlugin.configs.flat['jsx-runtime'], + files: ['**/*.js', '**/*.mjs', '**/*.cjs', '**/*.ts', '**/*.tsx'], + }, + { + ...prettierPlugin, + files: [ + '**/*.js', + '**/*.mjs', + '**/*.cjs', + '**/*.ts', + '**/*.tsx', + '**/*.md', + '**/*.mdx', ], - 'simple-import-sort/exports': 'error', - 'import/first': 'error', - 'import/newline-after-import': 'error', - 'import/no-duplicates': 'error', }, - settings: { - react: { - version: 'detect', - }, - 'import/resolver': { - node: { - extensions: ['.js', '.jsx', '.ts', '.tsx'], - project: [ - 'tsconfig.base.json', - 'packages/*/tsconfig.json', - 'apps/*/tsconfig.json', - ], + { + files: ['**/*.ts', '**/*.mts', '**/*.tsx'], // ts + languageOptions: { + parser: typescriptParser, + parserOptions: { + // TODO: Enable type-aware linting (https://typescript-eslint.io/docs/linting/type-linting) + // "tsconfigRootDir": ".", + // "project": ["./packages/*/tsconfig.json"], + // sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + // warnOnUnsupportedTypeScriptVersion: true, }, - typescript: { - alwaysTryTypes: true, - project: [ - 'tsconfig.base.json', - 'packages/*/tsconfig.json', - 'apps/*/tsconfig.json', - ], + globals: { + ...globals.browser, + ...globals.node, + }, + }, + plugins: { + '@typescript-eslint': typescriptPlugin, + 'eslint-comments': commentsPlugin, + react: reactPlugin, + 'react-hooks': reactHooksPlugin, + 'simple-import-sort': simpleImportSortPlugin, + }, + rules: { + ...importPlugin.configs.typescript.rules, + ...reactHooksPlugin.configs.recommended.rules, + 'react/prop-types': 0, + // "@typescript-eslint/consistent-type-definitions": ["error", "interface"], + '@typescript-eslint/consistent-type-imports': 'error', + // TODO: turn on this rul + '@typescript-eslint/no-non-null-assertion': 'off', + // "@typescript-eslint/consistent-type-exports": "error", + 'simple-import-sort/imports': [ + 'error', + { + groups: [ + // Side effect imports. + ['^\\u0000'], + // `react` related packages come first. + ['^react$', '^react-dom$'], + // Things that start with a letter (or digit or underscore), or `@` followed by a letter. + ['^@?\\w'], + // Absolute imports and other imports such as Vue-style `@/foo`. + // Anything not matched in another group. + ['^'], + // Relative imports. + // Anything that starts with a dot. + ['^\\.'], + // type imports last as a separate group + ['^.+\\u0000$'], + ], + }, + ], + 'simple-import-sort/exports': 'error', + 'import/first': 'error', + 'import/newline-after-import': 'error', + 'import/no-duplicates': 'error', + }, + settings: { + react: { + version: 'detect', + }, + 'import/resolver': { + node: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + project: [ + 'tsconfig.base.json', + 'packages/*/tsconfig.json', + 'apps/*/tsconfig.json', + ], + }, + typescript: { + alwaysTryTypes: true, + project: [ + 'tsconfig.base.json', + 'packages/*/tsconfig.json', + 'apps/*/tsconfig.json', + ], + }, }, }, }, -} +] + +/** @type {import('eslint').Linter.Config[]} */ +export const tailwindcssConfigs = [ + { + files: ['**/*.ts', '**/*.mts', '**/*.tsx'], + }, + ...tailwindcssPlugin.configs['flat/recommended'], + { + rules: { + 'tailwindcss/classnames-order': 'off', + 'tailwindcss/migration-from-tailwind-2': 'off', + }, + settings: { + tailwindcss: { + callees: ['cx', 'cva'], + }, + }, + }, +] diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index eab8bcec..6c6479ac 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -3,6 +3,7 @@ "version": "1.0.1", "main": "index.js", "license": "MPL-2.0", + "type": "module", "exports": { ".": { "import": "./index.js", @@ -15,23 +16,28 @@ }, "scripts": { "preinstall": "npx only-allow pnpm", - "clean": "rimraf node_modules" + "clean": "rimraf node_modules", + "lint": "eslint ." + }, + "peerDependencies": { + "eslint": "^9.14.0" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "eslint": "^8.42.0", - "eslint-config-next": "^13.2.4", - "eslint-config-prettier": "^8.8.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-import-resolver-typescript": "^3.5.5", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.14.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.32.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-tailwindcss": "^3.12.1" + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-simple-import-sort": "^12.1.1", + "eslint-plugin-tailwindcss": "^3.17.5", + "globals": "^15.12.0", + "typescript-eslint": "^8.13.0" }, "publishConfig": { "access": "public" diff --git a/packages/icons/.eslintrc b/packages/icons/.eslintrc deleted file mode 100644 index 9594f0a3..00000000 --- a/packages/icons/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "root": true, - "extends": ["@status-im/eslint-config"], - "ignorePatterns": ["dist", "index.js", "index.es.js"] -} diff --git a/packages/icons/eslint.config.mjs b/packages/icons/eslint.config.mjs new file mode 100644 index 00000000..e5cb07bf --- /dev/null +++ b/packages/icons/eslint.config.mjs @@ -0,0 +1,9 @@ +import configs from '@status-im/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...configs, + { + ignores: ['dist', 'index.js', 'index.es.js'], + }, +] diff --git a/packages/icons/package.json b/packages/icons/package.json index 800aecbe..697770c0 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -62,11 +62,11 @@ "generate": "rimraf src && svgr svg --out-dir src && pnpm lint:fix && pnpm format", "dev": "vite build --watch --mode development", "build": "vite build", - "postbuild": "pnpm build:types && node --version", + "postbuild": "pnpm build:types", "build:types": "tsc src/**/index.ts --emitDeclarationOnly --declaration --jsx react-jsx --skipLibCheck --declarationDir ./dist", "#test": "vitest", "typecheck": "tsc", - "lint": "eslint 'src/**/*.{ts,tsx}'", + "lint": "eslint src", "lint:fix": "pnpm lint --fix", "format": "prettier --write 'src/**/*.{ts,tsx}'", "clean": "rimraf dist node_modules .turbo", diff --git a/packages/status-js/.eslintrc b/packages/status-js/.eslintrc deleted file mode 100644 index 0fae63e5..00000000 --- a/packages/status-js/.eslintrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "root": true, - "extends": ["@status-im/eslint-config"], - "overrides": [ - { - "files": ["./src/protos/**/*_pb.ts"], - "rules": { - "eslint-comments/disable-enable-pair": "off", - "eslint-comments/no-unlimited-disable": "off" - } - } - ] -} diff --git a/packages/status-js/eslint.config.mjs b/packages/status-js/eslint.config.mjs new file mode 100644 index 00000000..8a023cad --- /dev/null +++ b/packages/status-js/eslint.config.mjs @@ -0,0 +1,13 @@ +import configs from '@status-im/eslint-config' + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...configs, + { + files: ['./src/protos/**/*_pb.ts'], + rules: { + 'eslint-comments/disable-enable-pair': 'off', + 'eslint-comments/no-unlimited-disable': 'off', + }, + }, +] diff --git a/packages/status-js/src/client/activityCenter.ts b/packages/status-js/src/client/activityCenter.ts index 0f67c0b7..08229474 100644 --- a/packages/status-js/src/client/activityCenter.ts +++ b/packages/status-js/src/client/activityCenter.ts @@ -86,7 +86,7 @@ export class ActivityCenter { public addMessageNotification = ( newMessage: ChatMessage, - referencedMessage?: ChatMessage + referencedMessage?: ChatMessage, ) => { let isMention: boolean | undefined let isReply: boolean | undefined diff --git a/packages/status-js/src/client/chat.ts b/packages/status-js/src/client/chat.ts index ac073aa2..24c5413e 100644 --- a/packages/status-js/src/client/chat.ts +++ b/packages/status-js/src/client/chat.ts @@ -101,7 +101,7 @@ export class Chat { client: Client, uuid: string, type: MessageType.COMMUNITY_CHAT, - description: CommunityChat + description: CommunityChat, ) => { const id = `${community.publicKey}${uuid}` const contentTopic = idToContentTopic(id) @@ -171,7 +171,7 @@ export class Chat { } public onMessage = ( - callback: (messages: ChatMessage[]) => void + callback: (messages: ChatMessage[]) => void, ): (() => void) => { this.messageCallbacks.add(callback) // todo?: set from ui, think use case without an ui @@ -227,7 +227,7 @@ export class Chat { pageSize: 50, // most recent page first pageDirection: PageDirection.BACKWARD, - } + }, ) this.#previousFetchedStartTime = startTime @@ -278,7 +278,7 @@ export class Chat { this.#oldestFetchedMessage = this.getOldestFetchedMessage( this.#oldestFetchedMessage, newMessage.messageId, - timestamp + timestamp, ) } @@ -340,7 +340,7 @@ export class Chat { if (!this.#isActive && !isAuthor) { this.client.activityCenter.addMessageNotification( newMessage, - this.#messages.get(newMessage.responseTo) + this.#messages.get(newMessage.responseTo), ) } } @@ -349,7 +349,7 @@ export class Chat { messageId: string, text: string, clock: bigint, - signerPublicKey: string + signerPublicKey: string, ) => { const message = this.#messages.get(messageId) @@ -374,7 +374,7 @@ export class Chat { public handleDeletedMessage = ( messageId: string, clock: bigint, - signerPublicKey: string + signerPublicKey: string, ) => { const message = this.#messages.get(messageId) if (message && this.isAuthor(message, signerPublicKey)) { @@ -394,7 +394,7 @@ export class Chat { public handlePinnedMessage = ( messageId: string, clock: bigint, - pinned?: boolean + pinned?: boolean, ) => { const message = this.#messages.get(messageId) if (message) { @@ -419,14 +419,14 @@ export class Chat { messageId: string, reaction: EmojiReaction, clock: bigint, - signerPublicKey: string + signerPublicKey: string, ) => { const message = this.#messages.get(messageId) if (message) { const reactions = getReactions( reaction, message.reactions, - signerPublicKey + signerPublicKey, ) message.reactions = reactions @@ -447,7 +447,7 @@ export class Chat { SAD: new Set(), ANGRY: new Set(), }, - signerPublicKey + signerPublicKey, ) this.#reactEvents.set(messageId, { clock, reactions }) @@ -455,7 +455,7 @@ export class Chat { const reactions = getReactions( reaction, reactEvent.reactions, - signerPublicKey + signerPublicKey, ) this.#reactEvents.set(messageId, { clock, reactions }) @@ -489,7 +489,7 @@ export class Chat { ApplicationMetadataMessage_Type.CHAT_MESSAGE, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } @@ -518,7 +518,7 @@ export class Chat { ApplicationMetadataMessage_Type.CHAT_MESSAGE, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } @@ -554,14 +554,14 @@ export class Chat { ApplicationMetadataMessage_Type.EDIT_MESSAGE, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } public deleteMessage = async (messageId: string) => { if (!this.client.account) { throw new Error( - 'Text message cannot be deleted without a created account' + 'Text message cannot be deleted without a created account', ) } @@ -587,13 +587,13 @@ export class Chat { ApplicationMetadataMessage_Type.DELETE_MESSAGE, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } public sendReaction = async ( messageId: string, - reaction: keyof ChatMessage['reactions'] + reaction: keyof ChatMessage['reactions'], ) => { if (!this.client.account) { throw new Error('Account not initialized') @@ -606,7 +606,7 @@ export class Chat { } const retracted = message.reactions[reaction].has( - `0x${this.client.account.publicKey}` + `0x${this.client.account.publicKey}`, ) const payload = new EmojiReaction({ @@ -623,13 +623,13 @@ export class Chat { ApplicationMetadataMessage_Type.EMOJI_REACTION, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } public isAuthor = ( message: ChatMessage, - signerPublicKey: string + signerPublicKey: string, ): boolean => { return message.signer === signerPublicKey } @@ -637,7 +637,7 @@ export class Chat { private getOldestFetchedMessage( oldestMessage: FetchedMessage | undefined, messageId: string, - messageTimestamp?: Date + messageTimestamp?: Date, ): FetchedMessage { let message: FetchedMessage diff --git a/packages/status-js/src/client/client.ts b/packages/status-js/src/client/client.ts index 58f8fbdd..461417b8 100644 --- a/packages/status-js/src/client/client.ts +++ b/packages/status-js/src/client/client.ts @@ -177,7 +177,7 @@ class Client { await waitForRemotePeer( waku, [Protocols.Store, Protocols.Filter, Protocols.LightPush], - 10 * 1000 + 10 * 1000, ) // Client @@ -250,7 +250,7 @@ class Client { type: ApplicationMetadataMessage_Type, payload: Uint8Array, contentTopic: string, - symKey: Uint8Array + symKey: Uint8Array, ) => { if (!this.waku) { throw new Error('Waku not started') @@ -278,7 +278,7 @@ class Client { shard: 32, }, }), - { payload: message } + { payload: message }, ) } diff --git a/packages/status-js/src/client/community/community.ts b/packages/status-js/src/client/community/community.ts index c5d2ccde..ff5a04db 100644 --- a/packages/status-js/src/client/community/community.ts +++ b/packages/status-js/src/client/community/community.ts @@ -106,7 +106,7 @@ export class Community { if (this.description) { return true } - } + }, ) return this.description @@ -120,12 +120,12 @@ export class Community { shard: 32, }), ], - this.client.handleWakuMessage + this.client.handleWakuMessage, ) } private observeChatMessages = async ( - chatDescriptions: CommunityDescription['chats'] + chatDescriptions: CommunityDescription['chats'], ) => { const chatPromises = Object.entries(chatDescriptions).map( async ([chatUuid, chatDescription]: [string, CommunityChat]) => { @@ -134,7 +134,7 @@ export class Community { this.client, chatUuid, MessageType.COMMUNITY_CHAT, - chatDescription + chatDescription, ) this.chats.set(chatUuid, chat) @@ -146,18 +146,18 @@ export class Community { shard: 32, }), ], - this.client.handleWakuMessage + this.client.handleWakuMessage, ) this.#chatUnobserveFns.set(chat.contentTopic, unobserveFn) - } + }, ) await Promise.all(chatPromises) } private unobserveChatMessages = ( - chatDescription: CommunityDescription['chats'] + chatDescription: CommunityDescription['chats'], ) => { const contentTopics: string[] = [] @@ -179,7 +179,7 @@ export class Community { } contentTopics.forEach(contentTopic => - this.#chatUnobserveFns.get(contentTopic)?.() + this.#chatUnobserveFns.get(contentTopic)?.(), ) } @@ -207,7 +207,7 @@ export class Community { // observe const removedChats = getDifferenceByKeys( this.description.chats, - description.chats + description.chats, ) if (Object.keys(removedChats).length) { this.unobserveChatMessages(removedChats) @@ -215,7 +215,7 @@ export class Community { const addedChats = getDifferenceByKeys( description.chats, - this.description.chats + this.description.chats, ) if (Object.keys(addedChats).length) { this.observeChatMessages(addedChats) @@ -232,7 +232,7 @@ export class Community { const members = getObjectsDifference( this.description.members, - description.members + description.members, ) this.addMembers(members.added) @@ -251,7 +251,7 @@ export class Community { // handle Object.entries(this.description.chats).forEach( ([chatUuid, chatDescription]) => - this.chats.get(chatUuid)?.handleChange(chatDescription) + this.chats.get(chatUuid)?.handleChange(chatDescription), ) } @@ -275,13 +275,13 @@ export class Community { ApplicationMetadataMessage_Type.COMMUNITY_REQUEST_TO_JOIN, payload, this.contentTopic, - this.symmetricKey + this.symmetricKey, ) } public isOwner = ( /** Uncompressed. */ - signerPublicKey: string + signerPublicKey: string, ): boolean => { return this.publicKey === `0x${compressPublicKey(signerPublicKey)}` } diff --git a/packages/status-js/src/client/community/get-reactions.ts b/packages/status-js/src/client/community/get-reactions.ts index adcfeff4..74e2ffb4 100644 --- a/packages/status-js/src/client/community/get-reactions.ts +++ b/packages/status-js/src/client/community/get-reactions.ts @@ -14,7 +14,7 @@ export type Reactions = { export function getReactions( reaction: EmojiReaction, reactions: Reactions, - publicKey: string + publicKey: string, ): Reactions { const { type, retracted } = reaction diff --git a/packages/status-js/src/client/community/handle-waku-message.ts b/packages/status-js/src/client/community/handle-waku-message.ts index 8532f5ca..427f68fa 100644 --- a/packages/status-js/src/client/community/handle-waku-message.ts +++ b/packages/status-js/src/client/community/handle-waku-message.ts @@ -34,7 +34,7 @@ export function handleWakuMessage( // state client: Client, community: Community, - account?: Account + account?: Account, ): void { // decode (layers) // validate @@ -57,9 +57,8 @@ export function handleWakuMessage( if (decodedProtocol) { messageToDecode = decodedProtocol.publicMessage } - } catch { // eslint-disable-next-line no-empty - } + } catch {} const decodedMetadata = ApplicationMetadataMessage.fromBinary(messageToDecode) if (!decodedMetadata.payload) { @@ -69,12 +68,12 @@ export function handleWakuMessage( const signerPublicKeyBytes = recoverPublicKey( decodedMetadata.signature, - decodedMetadata.payload + decodedMetadata.payload, ) const messageId = payloadToId( decodedProtocol?.publicMessage ?? wakuMessage.payload, - signerPublicKeyBytes + signerPublicKeyBytes, ) const messageTimestamp = wakuMessage.timestamp const signerPublicKey = `0x${bytesToHex(signerPublicKeyBytes)}` @@ -181,7 +180,7 @@ export function handleWakuMessage( messageId, decodedPayload.text, decodedPayload.clock, - signerPublicKey + signerPublicKey, ) chat.setClock(decodedPayload.clock) @@ -220,7 +219,7 @@ export function handleWakuMessage( chat.handleDeletedMessage( messageId, decodedPayload.clock, - signerPublicKey + signerPublicKey, ) chat.setClock(decodedPayload.clock) @@ -259,7 +258,7 @@ export function handleWakuMessage( chat.handlePinnedMessage( messageId, decodedPayload.clock, - decodedPayload.pinned + decodedPayload.pinned, ) chat.setClock(decodedPayload.clock) @@ -299,7 +298,7 @@ export function handleWakuMessage( messageId, decodedPayload, decodedPayload.clock, - signerPublicKey + signerPublicKey, ) chat.setClock(decodedPayload.clock) @@ -320,7 +319,6 @@ export function handleWakuMessage( } } catch { // protons-runtime throws when trying to decode invalid protocol buffers - // eslint-disable-next-line no-empty } return diff --git a/packages/status-js/src/client/community/is-encrypted.ts b/packages/status-js/src/client/community/is-encrypted.ts index 5062939e..ff2f18fa 100644 --- a/packages/status-js/src/client/community/is-encrypted.ts +++ b/packages/status-js/src/client/community/is-encrypted.ts @@ -4,10 +4,10 @@ import { } from '../../protos/communities_pb' export function isEncrypted( - tokenPermissions: CommunityDescription['tokenPermissions'] + tokenPermissions: CommunityDescription['tokenPermissions'], ): boolean { return Object.values(tokenPermissions).some( permission => - permission.type === CommunityTokenPermission_Type.BECOME_MEMBER + permission.type === CommunityTokenPermission_Type.BECOME_MEMBER, ) } diff --git a/packages/status-js/src/client/community/map-chat-message.ts b/packages/status-js/src/client/community/map-chat-message.ts index 312fda0a..954fc2ab 100644 --- a/packages/status-js/src/client/community/map-chat-message.ts +++ b/packages/status-js/src/client/community/map-chat-message.ts @@ -10,7 +10,7 @@ export function mapChatMessage( signerPublicKey: string community: Community chat: Chat - } + }, ): ChatMessage { const { messageId, chatUuid, signerPublicKey, community, chat } = props diff --git a/packages/status-js/src/client/storage.ts b/packages/status-js/src/client/storage.ts index 84afca57..6d2acb58 100644 --- a/packages/status-js/src/client/storage.ts +++ b/packages/status-js/src/client/storage.ts @@ -33,7 +33,7 @@ export class LocalStorage implements Storage { try { window.localStorage.setItem( this.#getStorageKey(key), - JSON.stringify(value) + JSON.stringify(value), ) return true } catch { diff --git a/packages/status-js/src/crypto/pbkdf2.browser.ts b/packages/status-js/src/crypto/pbkdf2.browser.ts index e248faea..46400b57 100644 --- a/packages/status-js/src/crypto/pbkdf2.browser.ts +++ b/packages/status-js/src/crypto/pbkdf2.browser.ts @@ -6,14 +6,14 @@ export const pbkdf2: PBKDF2 = async ( password: Uint8Array, salt: Uint8Array, iterations: number, - keylen: number + keylen: number, ): Promise => { const cryptoKey = await window.crypto.subtle.importKey( 'raw', password, { name: 'PBKDF2' }, false, - ['deriveBits'] + ['deriveBits'], ) const derivedKey = await window.crypto.subtle.deriveBits( @@ -26,7 +26,7 @@ export const pbkdf2: PBKDF2 = async ( }, }, cryptoKey, - keylen << 3 + keylen << 3, ) return new Uint8Array(derivedKey) diff --git a/packages/status-js/src/ethereum-client/ethereum-client.ts b/packages/status-js/src/ethereum-client/ethereum-client.ts index 905bcfaa..df49f5d8 100644 --- a/packages/status-js/src/ethereum-client/ethereum-client.ts +++ b/packages/status-js/src/ethereum-client/ethereum-client.ts @@ -16,7 +16,7 @@ export class EthereumClient { async resolvePublicKey( ensName: string, - options: { compress: boolean } + options: { compress: boolean }, ): Promise { try { const resolver = await this.#provider.getResolver(ensName) @@ -51,22 +51,22 @@ export class EthereumClient { async resolveOwner( registryContractAddress: string, - communityPublicKey: string + communityPublicKey: string, ): Promise { try { const registryContract = new ethers.Contract( registryContractAddress, ['function getEntry(address _communityAddress) view returns (address)'], - this.#provider + this.#provider, ) const ownerContractAddress = await registryContract.getEntry( - publicKeyToETHAddress(communityPublicKey) + publicKeyToETHAddress(communityPublicKey), ) const ownerContract = new ethers.Contract( ownerContractAddress, ['function signerPublicKey() view returns (bytes)'], - this.#provider + this.#provider, ) const owner = await ownerContract.signerPublicKey() diff --git a/packages/status-js/src/helpers/get-difference-by-keys.ts b/packages/status-js/src/helpers/get-difference-by-keys.ts index ebbc8ca5..a6088548 100644 --- a/packages/status-js/src/helpers/get-difference-by-keys.ts +++ b/packages/status-js/src/helpers/get-difference-by-keys.ts @@ -1,6 +1,6 @@ export function getDifferenceByKeys>( a: T, - b: T + b: T, ): T { const initialValue: Record = {} diff --git a/packages/status-js/src/helpers/get-objects-difference.ts b/packages/status-js/src/helpers/get-objects-difference.ts index 9437ccac..2c913dbb 100644 --- a/packages/status-js/src/helpers/get-objects-difference.ts +++ b/packages/status-js/src/helpers/get-objects-difference.ts @@ -2,7 +2,7 @@ type Input = Record export function getObjectsDifference( oldObject: Input, - newObject: Input + newObject: Input, ) { const added: Record = {} const removed: string[] = [] diff --git a/packages/status-js/src/request-client/map-channel.ts b/packages/status-js/src/request-client/map-channel.ts index f794af1d..de8d3801 100644 --- a/packages/status-js/src/request-client/map-channel.ts +++ b/packages/status-js/src/request-client/map-channel.ts @@ -16,7 +16,7 @@ export type ChannelInfo = { export function mapChannel( communityChat: CommunityChat, - communityDescription: CommunityDescription + communityDescription: CommunityDescription, ): ChannelInfo | undefined { const community = mapCommunity(communityDescription) diff --git a/packages/status-js/src/request-client/map-community.ts b/packages/status-js/src/request-client/map-community.ts index bae39ab7..389afdc6 100644 --- a/packages/status-js/src/request-client/map-community.ts +++ b/packages/status-js/src/request-client/map-community.ts @@ -18,7 +18,7 @@ export type Tag = { } export function mapCommunity( - communityDescription: CommunityDescription + communityDescription: CommunityDescription, ): CommunityInfo | undefined { const { identity, tags, members } = communityDescription diff --git a/packages/status-js/src/request-client/map-user.ts b/packages/status-js/src/request-client/map-user.ts index 32c66313..b4e25feb 100644 --- a/packages/status-js/src/request-client/map-user.ts +++ b/packages/status-js/src/request-client/map-user.ts @@ -15,7 +15,7 @@ export type UserInfo = { export function mapUser( contactCodeAdvertisement: ContactCodeAdvertisement, - userPublicKey: string + userPublicKey: string, ): UserInfo | undefined { const { chatIdentity: identity } = contactCodeAdvertisement diff --git a/packages/status-js/src/request-client/request-client.ts b/packages/status-js/src/request-client/request-client.ts index e732aa99..18ba2a05 100644 --- a/packages/status-js/src/request-client/request-client.ts +++ b/packages/status-js/src/request-client/request-client.ts @@ -62,7 +62,7 @@ class RequestClient { contractAddresses?: Record> started?: boolean environment?: 'development' | 'preview' | 'production' - } + }, ) { const { environment = 'development' } = options @@ -136,7 +136,7 @@ class RequestClient { await Promise.all([ async () => this.waku.stop(), [...this.#ethereumClients.values()].map(async provider => - provider.stop() + provider.stop(), ), ]) @@ -163,7 +163,7 @@ class RequestClient { public fetchCommunity = async ( /** Compressed */ - publicKey: string + publicKey: string, ): Promise => { const communityDescription = await this.fetchCommunityDescription(publicKey) @@ -177,7 +177,7 @@ class RequestClient { public fetchChannel = async ( /** Compressed */ publicKey: string, - uuid: string + uuid: string, ): Promise => { const communityDescription = await this.fetchCommunityDescription(publicKey) @@ -192,11 +192,10 @@ class RequestClient { public fetchUser = async ( /** Uncompressed */ - publicKey: string + publicKey: string, ): Promise => { - const contactCodeAdvertisement = await this.fetchContactCodeAdvertisement( - publicKey - ) + const contactCodeAdvertisement = + await this.fetchContactCodeAdvertisement(publicKey) if (!contactCodeAdvertisement) { return @@ -207,7 +206,7 @@ class RequestClient { public fetchCommunityDescription = async ( /** Compressed */ - communityPublicKey: string + communityPublicKey: string, ): Promise => { const contentTopic = idToContentTopic(communityPublicKey) const symmetricKey = await generateKeyFromPassword(communityPublicKey) @@ -238,24 +237,25 @@ class RequestClient { // decode const decodedCommunityDescription = CommunityDescription.fromBinary( - message.payload + message.payload, ) // validate if ( !isClockValid( BigInt(decodedCommunityDescription.clock), - message.timestamp + message.timestamp, ) ) { continue } const ownerTokenPermission = Object.values( - decodedCommunityDescription.tokenPermissions + decodedCommunityDescription.tokenPermissions, ).find( permission => - permission.type === CommunityTokenPermission_Type.BECOME_TOKEN_OWNER + permission.type === + CommunityTokenPermission_Type.BECOME_TOKEN_OWNER, ) if (ownerTokenPermission) { const criteria = ownerTokenPermission.tokenCriteria[0] @@ -281,7 +281,7 @@ class RequestClient { const ownerPublicKey = await ethereumClient.resolveOwner( this.#contractAddresses[Number(chainId)] .CommunityOwnerTokenRegistry, - communityPublicKey + communityPublicKey, ) if (ownerPublicKey !== message.signerPublicKey) { @@ -301,11 +301,11 @@ class RequestClient { } private fetchContactCodeAdvertisement = async ( - publicKey: string + publicKey: string, ): Promise => { const contentTopic = idToContentTopic(`${publicKey}-contact-code`) const symmetricKey = await generateKeyFromPassword( - `${publicKey}-contact-code` + `${publicKey}-contact-code`, ) const wakuMessageGenerator = this.waku.store.queryGenerator([ @@ -336,7 +336,7 @@ class RequestClient { // decode const decodedContactCode = ContactCodeAdvertisement.fromBinary( - message.payload + message.payload, ) // validate @@ -347,7 +347,7 @@ class RequestClient { if ( !isClockValid( BigInt(decodedContactCode.chatIdentity.clock), - message.timestamp + message.timestamp, ) ) { continue @@ -364,7 +364,7 @@ class RequestClient { } private handleWakuMessage = ( - wakuMessage: DecodedMessage + wakuMessage: DecodedMessage, ): | { timestamp: Date @@ -394,17 +394,17 @@ class RequestClient { if (decodedSegment) { const unsegmentedMessageHash = bytesToHex( - decodedSegment.entireMessageHash + decodedSegment.entireMessageHash, ) const segmentedWakuMessages = this.#segmentedWakuMessages.get( - unsegmentedMessageHash + unsegmentedMessageHash, ) if (!segmentedWakuMessages) { this.#segmentedWakuMessages.set( unsegmentedMessageHash, - new Map([[decodedSegment.index, decodedSegment]]) + new Map([[decodedSegment.index, decodedSegment]]), ) return @@ -430,13 +430,12 @@ class RequestClient { messageToDecode = unsegmentedPayload this.#segmentedWakuMessages.delete(unsegmentedMessageHash) - } catch (error) { + } catch { return } } - } catch { // eslint-disable-next-line no-empty - } + } catch {} let decodedProtocol try { @@ -447,9 +446,8 @@ class RequestClient { } else if (decodedProtocol) { messageToDecode = decodedProtocol.publicMessage } - } catch { // eslint-disable-next-line no-empty - } + } catch {} let decodedMetadata try { @@ -468,12 +466,12 @@ class RequestClient { const signerPublicKeyBytes = recoverPublicKey( decodedMetadata.signature, - decodedMetadata.payload + decodedMetadata.payload, ) const messageId = payloadToId( decodedProtocol?.publicMessage ?? wakuMessage.payload, - signerPublicKeyBytes + signerPublicKeyBytes, ) // already handled @@ -493,7 +491,7 @@ class RequestClient { } export async function createRequestClient( - options: RequestClientOptions + options: RequestClientOptions, ): Promise { return await RequestClient.start(options) } diff --git a/packages/status-js/src/utils/compress-public-key.ts b/packages/status-js/src/utils/compress-public-key.ts index 9906b859..73a2b9e2 100644 --- a/packages/status-js/src/utils/compress-public-key.ts +++ b/packages/status-js/src/utils/compress-public-key.ts @@ -4,7 +4,7 @@ export function compressPublicKey(publicKey: string): string { try { const pk = publicKey.replace(/^0[xX]/, '') // ensures hexadecimal digits without "base prefix" return secp.Point.fromHex(pk).toHex(true) - } catch (error) { + } catch { throw new Error('Invalid public key') } } diff --git a/packages/status-js/src/utils/create-url.test.ts b/packages/status-js/src/utils/create-url.test.ts index df4bd6f7..42197ab8 100644 --- a/packages/status-js/src/utils/create-url.test.ts +++ b/packages/status-js/src/utils/create-url.test.ts @@ -46,7 +46,7 @@ describe('Create URLs', () => { } as unknown as CommunityDescription expect(createCommunityURLWithChatKey(community.chatKey).toString()).toBe( - 'https://status.app/c#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11' + 'https://status.app/c#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11', ) expect( ( @@ -58,11 +58,11 @@ describe('Create URLs', () => { membersCount: 446_744, tagIndices: [1, 33, 51], }, - community.chatKey + community.chatKey, ) - ).toString() + ).toString(), ).toBe( - 'https://status.app/c/iyKACkQKB0Rvb2RsZXMSJ0NvbG9yaW5nIHRoZSB3b3JsZCB3aXRoIGpveSDigKIg4bSXIOKAohiYohsiByMxMzFEMkYqAwEhMwM=#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11' + 'https://status.app/c/iyKACkQKB0Rvb2RsZXMSJ0NvbG9yaW5nIHRoZSB3b3JsZCB3aXRoIGpveSDigKIg4bSXIOKAohiYohsiByMxMzFEMkYqAwEhMwM=#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11', ) }) @@ -95,9 +95,9 @@ describe('Create URLs', () => { } as unknown as CommunityChat expect( - createChannelURLWithChatKey(chat.uuid, community.chatKey).toString() + createChannelURLWithChatKey(chat.uuid, community.chatKey).toString(), ).toBe( - 'https://status.app/cc/003cdcd5-e065-48f9-b166-b1a94ac75a11#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11' + 'https://status.app/cc/003cdcd5-e065-48f9-b166-b1a94ac75a11#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11', ) expect( ( @@ -112,11 +112,11 @@ describe('Create URLs', () => { displayName: community.description.identity!.displayName, }, } as unknown as PlainMessage, - community.chatKey + community.chatKey, ) - ).toString() + ).toString(), ).toBe( - 'https://status.app/cc/G54AAKwObLdpiGjXnckYzRcOSq0QQAS_CURGfqVU42ceGHCObstUIknTTZDOKF3E8y2MSicncpO7fTskXnoACiPKeejvjtLTGWNxUhlT7fyQS7Jrr33UVHluxv_PLjV2ePGw5GQ33innzeK34pInIgUGs5RjdQifMVmURalxxQKwiuoY5zwIjixWWRHqjHM=#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11' + 'https://status.app/cc/G54AAKwObLdpiGjXnckYzRcOSq0QQAS_CURGfqVU42ceGHCObstUIknTTZDOKF3E8y2MSicncpO7fTskXnoACiPKeejvjtLTGWNxUhlT7fyQS7Jrr33UVHluxv_PLjV2ePGw5GQ33innzeK34pInIgUGs5RjdQifMVmURalxxQKwiuoY5zwIjixWWRHqjHM=#zQ3shYSHp7GoiXaauJMnDcjwU2yNjdzpXLosAWapPS4CFxc11', ) }) @@ -134,10 +134,10 @@ describe('Create URLs', () => { } as unknown as ContactCodeAdvertisement expect(createUserURLWithENS(account.ensName).toString()).toBe( - 'https://status.app/u#testing.stateofus.eth' + 'https://status.app/u#testing.stateofus.eth', ) expect(createUserURLWithChatKey(account.chatKey).toString()).toBe( - 'https://status.app/u#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj' + 'https://status.app/u#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj', ) expect( ( @@ -147,11 +147,11 @@ describe('Create URLs', () => { displayName: account.description.chatIdentity!.displayName, color: account.description.chatIdentity!.color, }, - account.chatKey + account.chatKey, ) - ).toString() + ).toString(), ).toBe( - 'https://status.app/u/G10A4B0JdgwyRww90WXtnP1oNH1ZLQNM0yX0Ja9YyAMjrqSZIYINOHCbFhrnKRAcPGStPxCMJDSZlGCKzmZrJcimHY8BbcXlORrElv_BbQEegnMDPx1g9C5VVNl0fE4y#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj' + 'https://status.app/u/G10A4B0JdgwyRww90WXtnP1oNH1ZLQNM0yX0Ja9YyAMjrqSZIYINOHCbFhrnKRAcPGStPxCMJDSZlGCKzmZrJcimHY8BbcXlORrElv_BbQEegnMDPx1g9C5VVNl0fE4y#zQ3shwQPhRuDJSjVGVBnTjCdgXy5i9WQaeVPdGJD6yTarJQSj', ) }) }) diff --git a/packages/status-js/src/utils/create-url.ts b/packages/status-js/src/utils/create-url.ts index fdc848d6..d29eeae8 100644 --- a/packages/status-js/src/utils/create-url.ts +++ b/packages/status-js/src/utils/create-url.ts @@ -15,7 +15,7 @@ export function createCommunityURLWithChatKey(communityChatKey: string): URL { export async function createCommunityURLWithData( communityData: PlainMessage, - communityChatKey: string + communityChatKey: string, ): Promise { const encodedURLData = encodeCommunityURLData(communityData) @@ -24,14 +24,14 @@ export async function createCommunityURLWithData( export function createChannelURLWithChatKey( channelUuid: string, - communityChatKey: string + communityChatKey: string, ): URL { return new URL(`${BASE_URL}/cc/${channelUuid}#${communityChatKey}`) } export async function createChannelURLWithData( channelData: PlainMessage, - communityChatKey: string + communityChatKey: string, ): Promise { const encodedURLData = encodeChannelURLData(channelData) @@ -48,7 +48,7 @@ export function createUserURLWithChatKey(chatKey: string): URL { export async function createUserURLWithData( userData: PlainMessage, - userChatKey: string + userChatKey: string, ): Promise { const encodedURLData = encodeUserURLData(userData) diff --git a/packages/status-js/src/utils/decompress-public-key.ts b/packages/status-js/src/utils/decompress-public-key.ts index a0eb345e..b5525204 100644 --- a/packages/status-js/src/utils/decompress-public-key.ts +++ b/packages/status-js/src/utils/decompress-public-key.ts @@ -4,7 +4,7 @@ export function decompressPublicKey(publicKey: string): string { try { const pk = publicKey.replace(/^0[xX]/, '') // ensures hexadecimal digits without "base prefix" return secp.Point.fromHex(pk).toHex() - } catch (error) { + } catch { throw new Error('Invalid public key') } } diff --git a/packages/status-js/src/utils/deserialize-public-key.test.ts b/packages/status-js/src/utils/deserialize-public-key.test.ts index daca7dcd..e21cc2b9 100644 --- a/packages/status-js/src/utils/deserialize-public-key.test.ts +++ b/packages/status-js/src/utils/deserialize-public-key.test.ts @@ -4,42 +4,42 @@ import { deserializePublicKey } from './deserialize-public-key' test('should deserialize public key from compressed base58btc encoding', () => { expect( - deserializePublicKey('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') + deserializePublicKey('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU'), ).toEqual( - '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' + '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', ) }) test('should deserialize public key from compressed hexadecimal encoding', () => { expect( deserializePublicKey( - '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' - ) + '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', + ), ).toEqual( - '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' + '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', ) }) test('should deserialize public key from uncompressed hexadecimal encoding', () => { expect( deserializePublicKey( - '0x049f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb454295513305b23fcf11d005ee622144fc402b713a8928f80d705781e2e78d701c6e01bfc4' - ) + '0x049f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb454295513305b23fcf11d005ee622144fc402b713a8928f80d705781e2e78d701c6e01bfc4', + ), ).toEqual( - '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' + '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', ) }) test('should throw when deserializing unsupported multibase encoding', () => { expect(() => - deserializePublicKey('ZQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') + deserializePublicKey('ZQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU'), ).toThrowError() }) test('should throw when deserializing invalid public key', () => { expect(() => deserializePublicKey( - '0x019f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' - ) + '0x019f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', + ), ).toThrowError() }) diff --git a/packages/status-js/src/utils/deserialize-public-key.ts b/packages/status-js/src/utils/deserialize-public-key.ts index cd432468..90c35bd1 100644 --- a/packages/status-js/src/utils/deserialize-public-key.ts +++ b/packages/status-js/src/utils/deserialize-public-key.ts @@ -30,7 +30,7 @@ type MulticodecCode = (typeof VALID_MULTICODEC_CODES)[number] */ export function deserializePublicKey( publicKey: string, // uncompressed, compressed, or compressed & encoded - options = { compress: true } + options = { compress: true }, ): string { const multibasePublicKey = publicKey.replace(/^0[xX]/, 'f') // ensure multibase code for hexadecimal encoding const multibaseCode = multibasePublicKey[0] as MultibaseCode @@ -52,7 +52,7 @@ export function deserializePublicKey( } hexadecimalPublicKey = toHex( - base58btcPublicKey.slice(multicodecCodeByteLength) + base58btcPublicKey.slice(multicodecCodeByteLength), ) break diff --git a/packages/status-js/src/utils/encode-url-data.test.ts b/packages/status-js/src/utils/encode-url-data.test.ts index 99844b5c..a08bacdd 100644 --- a/packages/status-js/src/utils/encode-url-data.test.ts +++ b/packages/status-js/src/utils/encode-url-data.test.ts @@ -27,7 +27,7 @@ describe('Encode URL data', () => { const decodedData = decodeCommunityURLData(encodedData) expect(encodedData).toBe( - 'G8QAgC0OzDOfHB4N5V1zajCKmHvbUAXB6XK6XYLS60WrOmCEEVgFEJaHsLkpTevR-XHc03r4B2pKTOoYJwqbLrLw9u2DhyzlK5rEWE09Dy7oPbVSPhwlOKozCQuAsMX84eJimcwKWNer82gPcCrbhPM-Zx1s3-glfEojrEYRDp61MM2DTNiD92_BDIN3eYvvcQsfT-quKYmaf1_i9Kpzk0Fi' + 'G8QAgC0OzDOfHB4N5V1zajCKmHvbUAXB6XK6XYLS60WrOmCEEVgFEJaHsLkpTevR-XHc03r4B2pKTOoYJwqbLrLw9u2DhyzlK5rEWE09Dy7oPbVSPhwlOKozCQuAsMX84eJimcwKWNer82gPcCrbhPM-Zx1s3-glfEojrEYRDp61MM2DTNiD92_BDIN3eYvvcQsfT-quKYmaf1_i9Kpzk0Fi', ) expect(decodedData).toEqual(data) }) @@ -73,12 +73,12 @@ describe('Encode URL data', () => { } const encodedData = encodeChannelURLData( - data as unknown as PlainMessage + data as unknown as PlainMessage, ) const decodedData = decodeChannelURLData(encodedData) expect(encodedData).toBe( - 'GxoBQCwO7MbOG73h9C_ECmmNLFveFT5wVETFRTal3e2y0Xyou1sfFAV-SsZH0MTwwDRpTuEnp26giuDkQ9algElBJsdfwJYmFggG1GoJJJjnNgaO49Oj0C6qYIaxnbTEvF-6xH6jxmPg5oHSFAguuFhgFpIIby42hURPGM87X47XATSzJGec5_OsF9ZthVfGzWIIRgcltFjTBbPZTiKBcdj_5iQ5DTbPW4LaTsu46RK2OuuSPOXd-ddgstj0g6uYHm2WBUDBjYa1oPniW2ZdVpFpY-ubJq587eM-JytEhXc_Kuq8tiU=' + 'GxoBQCwO7MbOG73h9C_ECmmNLFveFT5wVETFRTal3e2y0Xyou1sfFAV-SsZH0MTwwDRpTuEnp26giuDkQ9algElBJsdfwJYmFggG1GoJJJjnNgaO49Oj0C6qYIaxnbTEvF-6xH6jxmPg5oHSFAguuFhgFpIIby42hURPGM87X47XATSzJGec5_OsF9ZthVfGzWIIRgcltFjTBbPZTiKBcdj_5iQ5DTbPW4LaTsu46RK2OuuSPOXd-ddgstj0g6uYHm2WBUDBjYa1oPniW2ZdVpFpY-ubJq587eM-JytEhXc_Kuq8tiU=', ) expect(decodedData).toEqual(data) }) @@ -150,7 +150,7 @@ describe('Encode URL data', () => { const decodedData = decodeUserURLData(encodedData) expect(encodedData).toBe( - 'GxgBoJwHdsOLl4DWt55mGELN6clGsb1UKTEkT0KUMDfwhWFpUyWH_cefTnvlcSf2JUXCOAWoY5ywzry-LnJ-PjgOGT1Pkb8riQp7ghv6Zu-x70x4m8lncZaRWpDN-sEfT85idUCWvppT_QFNa2A6J3Gr69UJGvWmL3S4DBwX2Jr7LBTNOvFPo6lejNUb-xizlAMUTrokunCH-qNmgtU6UK0J6Vkn8Ce35XGBFObxpxnAtnC_J_D-SrBCBnjiUlwH0ViNr3lHBg==' + 'GxgBoJwHdsOLl4DWt55mGELN6clGsb1UKTEkT0KUMDfwhWFpUyWH_cefTnvlcSf2JUXCOAWoY5ywzry-LnJ-PjgOGT1Pkb8riQp7ghv6Zu-x70x4m8lncZaRWpDN-sEfT85idUCWvppT_QFNa2A6J3Gr69UJGvWmL3S4DBwX2Jr7LBTNOvFPo6lejNUb-xizlAMUTrokunCH-qNmgtU6UK0J6Vkn8Ce35XGBFObxpxnAtnC_J_D-SrBCBnjiUlwH0ViNr3lHBg==', ) expect(decodedData).toEqual(data) }) diff --git a/packages/status-js/src/utils/generate-key-from-password.test.ts b/packages/status-js/src/utils/generate-key-from-password.test.ts index 5d47caed..61c386ad 100644 --- a/packages/status-js/src/utils/generate-key-from-password.test.ts +++ b/packages/status-js/src/utils/generate-key-from-password.test.ts @@ -8,7 +8,7 @@ test('should create symmetric key from password', async () => { const symKey = await generateKeyFromPassword(password) expect(bytesToHex(symKey)).toEqual( - 'c49ad65ebf2a7b7253bf400e3d27719362a91b2c9b9f54d50a69117021666c33' + 'c49ad65ebf2a7b7253bf400e3d27719362a91b2c9b9f54d50a69117021666c33', ) }) @@ -18,6 +18,6 @@ test('should generate symmetric key from chat ID', async () => { const symKey = await generateKeyFromPassword(chatId) expect(bytesToHex(symKey)).toEqual( - '76ff5bf0a74a8e724367c7fc003f066d477641f468768a8da2817addf5c2ce76' + '76ff5bf0a74a8e724367c7fc003f066d477641f468768a8da2817addf5c2ce76', ) }) diff --git a/packages/status-js/src/utils/generate-key-from-password.ts b/packages/status-js/src/utils/generate-key-from-password.ts index 67d54d2b..e9ae241b 100644 --- a/packages/status-js/src/utils/generate-key-from-password.ts +++ b/packages/status-js/src/utils/generate-key-from-password.ts @@ -8,13 +8,13 @@ const AES_KEY_LENGTH = 32 // bytes * status-go: https://github.com/status-im/status-go/blob/a471fed6a64e01a1aba8d925377fba045a5aa9f9/wakuv2/waku.go#L713 */ export async function generateKeyFromPassword( - password: string + password: string, ): Promise { return await pbkdf2( utf8ToBytes(password), utf8ToBytes(''), 65356, AES_KEY_LENGTH, - 'sha256' + 'sha256', ) } diff --git a/packages/status-js/src/utils/is-clock-valid.ts b/packages/status-js/src/utils/is-clock-valid.ts index b2739d65..fcdba0fa 100644 --- a/packages/status-js/src/utils/is-clock-valid.ts +++ b/packages/status-js/src/utils/is-clock-valid.ts @@ -2,7 +2,7 @@ const MAX_OFFSET = BigInt(120 * 1000) export function isClockValid( messageClock: bigint, - messageTimestamp: Date + messageTimestamp: Date, ): boolean { if (messageClock <= 0) { return false diff --git a/packages/status-js/src/utils/payload-to-id.ts b/packages/status-js/src/utils/payload-to-id.ts index 5486d3cb..3f749c24 100644 --- a/packages/status-js/src/utils/payload-to-id.ts +++ b/packages/status-js/src/utils/payload-to-id.ts @@ -3,7 +3,7 @@ import { bytesToHex, concatBytes } from 'ethereum-cryptography/utils' export function payloadToId( payload: Uint8Array, - publicKey: Uint8Array + publicKey: Uint8Array, ): string { const hash = keccak256(concatBytes(publicKey, payload)) // order matters const hex = bytesToHex(hash) diff --git a/packages/status-js/src/utils/public-key-to-color-hash.test.ts b/packages/status-js/src/utils/public-key-to-color-hash.test.ts index d5b56d52..d02488d2 100644 --- a/packages/status-js/src/utils/public-key-to-color-hash.test.ts +++ b/packages/status-js/src/utils/public-key-to-color-hash.test.ts @@ -8,8 +8,8 @@ import { test('should return color hash from public key', () => { expect( publicKeyToColorHash( - '0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toEqual([ [3, 30], [2, 10], @@ -30,13 +30,13 @@ test('should throw for invalid public keys', () => { expect(() => publicKeyToColorHash('0x01')).toThrow() expect(() => publicKeyToColorHash( - '0x01e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x01e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toThrow() expect(() => publicKeyToColorHash( - '0x04425da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x04425da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toThrow() }) diff --git a/packages/status-js/src/utils/public-key-to-color-hash.ts b/packages/status-js/src/utils/public-key-to-color-hash.ts index d8c0035c..a13f80f2 100644 --- a/packages/status-js/src/utils/public-key-to-color-hash.ts +++ b/packages/status-js/src/utils/public-key-to-color-hash.ts @@ -17,7 +17,7 @@ export function publicKeyToColorHash(publicKey: string): ColorHash { const colorHash = hexToColorHash( colorHashHex, COLOR_HASH_COLORS_COUNT, - COLOR_HASH_SEGMENT_MAX_LENGTH + COLOR_HASH_SEGMENT_MAX_LENGTH, ) return colorHash @@ -26,11 +26,11 @@ export function publicKeyToColorHash(publicKey: string): ColorHash { export function hexToColorHash( hex: string, colorsCount: number, - segmentLength: number + segmentLength: number, ): ColorHash { const colorIndices = numberToIndices( BigInt(`0x${hex}`), - BigInt(colorsCount * segmentLength) + BigInt(colorsCount * segmentLength), ) const colorHash = colorIndicesToColorHash(colorIndices, colorsCount) @@ -57,7 +57,7 @@ export function numberToIndices(number: bigint, base: bigint): bigint[] { function colorIndicesToColorHash( colorIndices: bigint[], - colorsCount: number + colorsCount: number, ): ColorHash { const colorHash: ColorHash = [] let previousColorIndex: number | undefined = undefined diff --git a/packages/status-js/src/utils/public-key-to-emoji-hash.test.ts b/packages/status-js/src/utils/public-key-to-emoji-hash.test.ts index 3d7b6a66..e775e051 100644 --- a/packages/status-js/src/utils/public-key-to-emoji-hash.test.ts +++ b/packages/status-js/src/utils/public-key-to-emoji-hash.test.ts @@ -5,23 +5,23 @@ import { publicKeyToEmojiHash } from './public-key-to-emoji-hash' test('should return emoji hash from public key', () => { expect( publicKeyToEmojiHash( - '0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toEqual('👦🏽🦹🏻👶🏿🛁🌁🙌🏻🙇🏽‍♂️🙌🏾🤥🐛👩🏽‍🔧🔧⚙️🧒🏽') expect( publicKeyToEmojiHash( - '0x0400000000000000000000000000000000000000000000000000000000000000014218F20AE6C646B363DB68605822FB14264CA8D2587FDD6FBC750D587E76A7EE' - ) + '0x0400000000000000000000000000000000000000000000000000000000000000014218F20AE6C646B363DB68605822FB14264CA8D2587FDD6FBC750D587E76A7EE', + ), ).toEqual('😀😀😀😀😀😀😀😀😀😀😀😀😀😀') expect( publicKeyToEmojiHash( - '0x04000000000000000000000000000000000000000010000000000000000000000033600332D373318ECC2F212A30A5750D2EAC827B6A32B33D326CCF369B12B1BE' - ) + '0x04000000000000000000000000000000000000000010000000000000000000000033600332D373318ECC2F212A30A5750D2EAC827B6A32B33D326CCF369B12B1BE', + ), ).toEqual('😀😀😀😀😀😀😀😀😀😀😀😀😀😃') expect( publicKeyToEmojiHash( - '0x040000000000000000000000000000000000000000200000000000000000000000353050BFE33B724E60A0C600FBA565A9B62217B1BD35BF9848F2AB847C598B30' - ) + '0x040000000000000000000000000000000000000000200000000000000000000000353050BFE33B724E60A0C600FBA565A9B62217B1BD35BF9848F2AB847C598B30', + ), ).toEqual('😀😀😀😀😀😀😀😀😀😀😀😀😀😄') }) @@ -30,12 +30,12 @@ test('should throw for invalid public keys', () => { expect(() => publicKeyToEmojiHash('0x01')).toThrow() expect(() => publicKeyToEmojiHash( - '0x01e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x01e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toThrow() expect(() => publicKeyToEmojiHash( - '0x04425da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8' - ) + '0x04425da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8', + ), ).toThrow() }) diff --git a/packages/status-js/src/utils/public-key-to-emoji-hash.ts b/packages/status-js/src/utils/public-key-to-emoji-hash.ts index 086be6b4..825e8dfd 100644 --- a/packages/status-js/src/utils/public-key-to-emoji-hash.ts +++ b/packages/status-js/src/utils/public-key-to-emoji-hash.ts @@ -19,7 +19,7 @@ export function publicKeyToEmojiHash(publicKey: string): string { const emojiHash = hexToEmojiHash( emojiHashHex, MIN_EMOJI_HASH_EMOJIS_COUNT, - EMOJI_HASH_LENGTH + EMOJI_HASH_LENGTH, ) return emojiHash @@ -28,7 +28,7 @@ export function publicKeyToEmojiHash(publicKey: string): string { export function hexToEmojiHash( hex: string, emojisCount: number, - hashLength: number + hashLength: number, ): string { const emojiIndices = numberToIndices(BigInt(`0x${hex}`), BigInt(emojisCount)) const emojiHash = emojiIndicesToEmojiHash(emojiIndices, hashLength) diff --git a/packages/status-js/src/utils/public-key-to-eth-address.test.ts b/packages/status-js/src/utils/public-key-to-eth-address.test.ts index 11f582fa..5f120059 100644 --- a/packages/status-js/src/utils/public-key-to-eth-address.test.ts +++ b/packages/status-js/src/utils/public-key-to-eth-address.test.ts @@ -5,7 +5,7 @@ import { publicKeyToETHAddress } from './public-key-to-eth-address' test('should return ETH address from public key', () => { expect( publicKeyToETHAddress( - '0x02bcbe39785b55a22383f82ac631ea7500e204627369c4ea01d9296af0ea573f57' - ) + '0x02bcbe39785b55a22383f82ac631ea7500e204627369c4ea01d9296af0ea573f57', + ), ).toEqual('0x0A1ec0002dDB927B03049F1aD8D589aBEA4Ba4b3') }) diff --git a/packages/status-js/src/utils/recover-public-key.test.ts b/packages/status-js/src/utils/recover-public-key.test.ts index 6295ffa1..34567559 100644 --- a/packages/status-js/src/utils/recover-public-key.test.ts +++ b/packages/status-js/src/utils/recover-public-key.test.ts @@ -18,7 +18,7 @@ test('should recover public key', async () => { const signature = await account.sign(payload) expect(bytesToHex(recoverPublicKey(signature, payload))).toEqual( - account.publicKey + account.publicKey, ) }) @@ -56,7 +56,7 @@ test('should recover public key from fixture', async () => { const result = recoverPublicKey( metadataFixture.signature, - metadataFixture.payload + metadataFixture.payload, ) expect(result).toEqual(publicKeySnapshot) @@ -80,6 +80,6 @@ test('should throw error when signature length is not 65 bytes', async () => { ]) expect(() => - recoverPublicKey(signature, payload) + recoverPublicKey(signature, payload), ).toThrowErrorMatchingInlineSnapshot(`"Signature must be 65 bytes long"`) }) diff --git a/packages/status-js/src/utils/recover-public-key.ts b/packages/status-js/src/utils/recover-public-key.ts index df9c3a82..7117c177 100644 --- a/packages/status-js/src/utils/recover-public-key.ts +++ b/packages/status-js/src/utils/recover-public-key.ts @@ -8,7 +8,7 @@ import { recoverPublicKey as secpRecoverPublicKey } from 'ethereum-cryptography/ */ export function recoverPublicKey( sig: Uint8Array, - payload: Uint8Array + payload: Uint8Array, ): Uint8Array { if (sig.length !== 65) { throw new Error('Signature must be 65 bytes long') diff --git a/packages/status-js/src/utils/serialize-public-key.test.ts b/packages/status-js/src/utils/serialize-public-key.test.ts index b07963e1..dfd7a4ca 100644 --- a/packages/status-js/src/utils/serialize-public-key.test.ts +++ b/packages/status-js/src/utils/serialize-public-key.test.ts @@ -5,35 +5,35 @@ import { serializePublicKey } from './serialize-public-key' test('should serialize compressed public key to base58btc encoding', () => { expect( serializePublicKey( - '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' - ) + '0x029f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', + ), ).toEqual('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') }) test('should serialize uncompressed public key to base58btc encoding', () => { expect( serializePublicKey( - '0x049f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb454295513305b23fcf11d005ee622144fc402b713a8928f80d705781e2e78d701c6e01bfc4' - ) + '0x049f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb454295513305b23fcf11d005ee622144fc402b713a8928f80d705781e2e78d701c6e01bfc4', + ), ).toEqual('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') }) test('should return the public key if already serialized to base58btc encoding', () => { expect( - serializePublicKey('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') + serializePublicKey('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU'), ).toEqual('zQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') }) test('should throw when serializing unsupported multibase encoding', () => { expect(() => - serializePublicKey('ZQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU') + serializePublicKey('ZQ3shY7r4cAdg4eUF5dfcuCqCFzWmdjHW4SX5hspM9ucAarfU'), ).toThrowError() }) test('should throw when serializing invalid public key', () => { expect(() => serializePublicKey( - '0x019f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133' - ) + '0x019f196bbfef4fa6a5eb81dd802133a63498325445ca1af1d154b1bb4542955133', + ), ).toThrowError() }) diff --git a/packages/status-js/src/utils/serialize-public-key.ts b/packages/status-js/src/utils/serialize-public-key.ts index 38003c93..662cd875 100644 --- a/packages/status-js/src/utils/serialize-public-key.ts +++ b/packages/status-js/src/utils/serialize-public-key.ts @@ -7,10 +7,10 @@ import { deserializePublicKey } from './deserialize-public-key' * @see https://specs.status.im/spec/2#public-key-serialization for specification */ export function serializePublicKey( - publicKey: string // uncompressed, compressed, or compressed & encoded + publicKey: string, // uncompressed, compressed, or compressed & encoded ): string { const hexadecimalPublicKey = hexToBytes( - deserializePublicKey(publicKey).replace(/^0[xX]/, '') + deserializePublicKey(publicKey).replace(/^0[xX]/, ''), ) // validated and compressed return base58btc.encode(new Uint8Array([231, 1, ...hexadecimalPublicKey])) diff --git a/packages/status-js/src/utils/sign-data.ts b/packages/status-js/src/utils/sign-data.ts index 00f3882e..e155e011 100644 --- a/packages/status-js/src/utils/sign-data.ts +++ b/packages/status-js/src/utils/sign-data.ts @@ -13,7 +13,7 @@ import { recoverPublicKey } from './recover-public-key' */ export async function signData( data: Uint8Array | string, - privateKey: Uint8Array | string + privateKey: Uint8Array | string, ): Promise { const bytes = ensureBytes(data) const hash = keccak256(bytes) @@ -29,7 +29,7 @@ export async function signData( export function verifySignedData( signature: Uint8Array, data: Uint8Array | string, - publicKey?: string + publicKey?: string, ): boolean { const bytes = ensureBytes(data) const hash = keccak256(bytes) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fba9e317..783b29a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,12 +41,15 @@ importers: '@types/react-dom': specifier: 18.0.11 version: 18.0.11 + eslint: + specifier: ^9.14.0 + version: 9.14.0(jiti@1.21.6) husky: specifier: ^8.0.3 version: 8.0.3 lint-staged: - specifier: ^13.2.0 - version: 13.2.0(enquirer@2.3.6) + specifier: ^15.2.10 + version: 15.2.10 prettier: specifier: ^3.3.3 version: 3.3.3 @@ -93,8 +96,8 @@ importers: specifier: ^1.1.0 version: 1.1.0(@types/react-dom@18.0.11)(@types/react@18.0.33)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@status-im/colors': - specifier: ^0.4.0 - version: 0.4.0 + specifier: workspace:* + version: link:../../packages/colors cva: specifier: ^1.0.0-beta.1 version: 1.0.0-beta.1(typescript@5.3.3) @@ -124,8 +127,8 @@ importers: specifier: ^2.7.0 version: 2.7.0(@parcel/core@2.9.3) '@status-im/eslint-config': - specifier: ^0.3.0 - version: 0.3.0(tailwindcss@3.4.11)(typescript@5.3.3) + specifier: workspace:* + version: link:../../packages/eslint-config '@tailwindcss/typography': specifier: ^0.5.13 version: 0.5.15(tailwindcss@3.4.11) @@ -147,9 +150,6 @@ importers: husky: specifier: ^8.0.3 version: 8.0.3 - lint-staged: - specifier: ^13.2.0 - version: 13.2.0(enquirer@2.3.6) postcss: specifier: ^8.4.38 version: 8.4.47 @@ -340,48 +340,54 @@ importers: packages/eslint-config: dependencies: - '@typescript-eslint/eslint-plugin': - specifier: ^5.59.11 - version: 5.60.0(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint@8.43.0)(typescript@5.6.2) - '@typescript-eslint/parser': - specifier: ^5.59.11 - version: 5.60.0(eslint@8.43.0)(typescript@5.6.2) + '@eslint/eslintrc': + specifier: ^3.1.0 + version: 3.1.0 + '@eslint/js': + specifier: ^9.14.0 + version: 9.14.0 eslint: - specifier: ^8.42.0 - version: 8.43.0 - eslint-config-next: - specifier: ^13.2.4 - version: 13.3.0(eslint@8.43.0)(typescript@5.6.2) + specifier: ^9.14.0 + version: 9.14.0(jiti@1.21.6) eslint-config-prettier: - specifier: ^8.8.0 - version: 8.8.0(eslint@8.43.0) + specifier: ^9.1.0 + version: 9.1.0(eslint@9.14.0(jiti@1.21.6)) eslint-import-resolver-node: - specifier: ^0.3.7 - version: 0.3.7 + specifier: ^0.3.9 + version: 0.3.9 eslint-import-resolver-typescript: - specifier: ^3.5.5 - version: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) + specifier: ^3.6.3 + version: 3.6.3(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-eslint-comments: specifier: ^3.2.0 - version: 3.2.0(eslint@8.43.0) + version: 3.2.0(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-import: - specifier: ^2.27.5 - version: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) + specifier: ^2.31.0 + version: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: - specifier: ^6.7.1 - version: 6.7.1(eslint@8.43.0) + specifier: ^6.10.2 + version: 6.10.2(eslint@9.14.0(jiti@1.21.6)) + eslint-plugin-prettier: + specifier: ^5.2.1 + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-react: - specifier: ^7.32.2 - version: 7.32.2(eslint@8.43.0) + specifier: ^7.37.2 + version: 7.37.2(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-react-hooks: - specifier: ^4.6.0 - version: 4.6.0(eslint@8.43.0) + specifier: ^5.0.0 + version: 5.0.0(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-simple-import-sort: - specifier: ^10.0.0 - version: 10.0.0(eslint@8.43.0) + specifier: ^12.1.1 + version: 12.1.1(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-tailwindcss: - specifier: ^3.12.1 - version: 3.17.4(tailwindcss@3.4.11) + specifier: ^3.17.5 + version: 3.17.5(tailwindcss@3.4.11) + globals: + specifier: ^15.12.0 + version: 15.12.0 + typescript-eslint: + specifier: ^8.13.0 + version: 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) packages/icons: dependencies: @@ -1255,17 +1261,39 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.4.0': - resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.0.3': - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.43.0': - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.7.0': + resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.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@9.14.0': + resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.2': + resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ethersproject/bytes@5.7.0': resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} @@ -1318,18 +1346,25 @@ packages: '@formatjs/intl-localematcher@0.5.4': resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} - '@humanwhocodes/config-array@0.11.10': - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.0': + resolution: {integrity: sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==} + engines: {node: '>=18.18'} '@ianvs/prettier-plugin-sort-imports@4.1.1': resolution: {integrity: sha512-kJhXq63ngpTQ2dxgf5GasbPJWsJA3LgoOdd7WGhpUSzLgLgI4IsIzYkbJf9kmpOHe7Vdm/o3PcRA3jmizXUuAQ==} @@ -1611,9 +1646,6 @@ packages: '@multiformats/multiaddr@12.2.0': resolution: {integrity: sha512-7HfwdG1uBR8t7N7nuK26oXbY0bB9aFJ69NdendqEAbr2mgrng8y+u5qpFem2WjNPARAooejfwCeQVAa39g7ezg==} - '@next/eslint-plugin-next@13.3.0': - resolution: {integrity: sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==} - '@noble/ciphers@0.4.0': resolution: {integrity: sha512-xaUaUUDWbHIFSxaQ/pIe+33VG2mfJp6N/KxKLmZr5biWdNznCAmfu24QRhX10BbVAuqOahAoyp0S4M9md6GPDw==} @@ -1648,6 +1680,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + '@parcel/bundler-default@2.9.3': resolution: {integrity: sha512-JjJK8dq39/UO/MWI/4SCbB1t/qgpQRFnFDetAAAezQ8oN++b24u1fkMDa/xqQGjbuPmGeTds5zxGgYs7id7PYg==} engines: {node: '>= 12.0.0', parcel: ^2.9.3} @@ -2176,8 +2212,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/utils@2.3.1': - resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@plasmohq/consolidate@0.17.0': @@ -3477,8 +3513,8 @@ packages: cpu: [x64] os: [win32] - '@rushstack/eslint-patch@1.2.0': - resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} '@scure/base@1.0.0': resolution: {integrity: sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==} @@ -3496,12 +3532,6 @@ packages: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} - '@status-im/colors@0.4.0': - resolution: {integrity: sha512-BqJ4mOyGLAW0ePCRgKEHmy6VwZhdnfYfHezBF7T5mYinGoOdfKVajq2rhKVQ8hekeMAA9WEhtCv1W/tcF+h6BQ==} - - '@status-im/eslint-config@0.3.0': - resolution: {integrity: sha512-jdu5I/q1VrCX9PemHZiKs0po/2G1xh+QWX+r/x/bpIYyvOHusI9ga0kF1UxrMu/bE82MEkXYLLNv2bmEJkHGAQ==} - '@storybook/addon-actions@8.3.0': resolution: {integrity: sha512-HvAc3fW979JVw8CSKXZMouvgrJ2BNLNWaUB8jNokQb3Us00P6igVKLwg/pBV8GBgDr5Ng4pHYqi/ZH+xzEYFFw==} peerDependencies: @@ -4081,6 +4111,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/express-serve-static-core@4.19.5': resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} @@ -4114,6 +4147,9 @@ packages: '@types/is-ci@3.0.0': resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json-schema@7.0.9': resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} @@ -4219,63 +4255,62 @@ packages: '@types/ws@8.5.8': resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} - '@typescript-eslint/eslint-plugin@5.60.0': - resolution: {integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@8.13.0': + resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@5.60.0': - resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@8.13.0': + resolution: {integrity: sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@5.60.0': - resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.13.0': + resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@5.60.0': - resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@5.60.0': - resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/typescript-estree@5.60.0': - resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/type-utils@8.13.0': + resolution: {integrity: sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@5.60.0': - resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/types@8.13.0': + resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@5.60.0': - resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@8.13.0': + resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@8.13.0': + resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@8.13.0': + resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/vfs@1.4.0': resolution: {integrity: sha512-Pood7yv5YWMIX+yCHo176OnF8WUlKGImFG7XlsuH14Zb1YN5+dYD3uUtS7lqZtsH7tAveNUi2NzdpQCN0yRbaw==} @@ -4436,16 +4471,17 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + aes-js@4.0.0-beta.3: resolution: {integrity: sha512-/xJX0/VTPcbc5xQE2VUP91y1xN8q/rDfhEzLm+vLc3hYvb5+qHCnpJRuFcrKn63zumK/sCwYYzhG8HP78JYSTA==} aes-js@4.0.0-beta.5: resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -4457,6 +4493,10 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -4511,9 +4551,17 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -4521,20 +4569,41 @@ packages: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} - array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -4547,17 +4616,13 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-types-flow@0.0.7: - resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - autoprefixer@10.4.16: resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} @@ -4576,20 +4641,25 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - axe-core@4.6.3: - resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.10.2: + resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - axobject-query@3.2.4: resolution: {integrity: sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==} engines: {node: '>= 0.4'} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -4751,10 +4821,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -4794,26 +4860,26 @@ packages: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -4867,15 +4933,15 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} - colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} colorjs.io@0.4.3: resolution: {integrity: sha512-Jr6NiWFZCuSECl23Bhe4jvDldQsE0ErnWrdl3xIUFy+Bkp0l8r5qt/iZlNH47/xxGP5izcyC8InjoUoI4Po+Pg==} - commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} - engines: {node: '>=14'} + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} @@ -5020,6 +5086,18 @@ packages: resolution: {integrity: sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==} engines: {node: '>=4'} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + datastore-core@9.2.3: resolution: {integrity: sha512-jcvrVDt+jp7lUp2WhMXXgX/hoi3VcJebN+z/ZXbIRKOVfNOF4bl8cvr7sQ1y9qITikgC2coXFYd79Wzt/n13ZQ==} @@ -5104,14 +5182,14 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - define-properties@1.1.4: resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + delay@6.0.0: resolution: {integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw==} engines: {node: '>=16'} @@ -5237,6 +5315,9 @@ packages: electron-to-chromium@1.5.24: resolution: {integrity: sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5254,8 +5335,8 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} enquirer@2.3.6: @@ -5277,6 +5358,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + err-code@3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} @@ -5291,6 +5376,10 @@ packages: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -5302,16 +5391,31 @@ packages: es-get-iterator@1.1.2: resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} + es-iterator-helpers@1.1.0: + resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==} + engines: {node: '>= 0.4'} + es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -5365,33 +5469,30 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-next@13.3.0: - resolution: {integrity: sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - - eslint-config-prettier@8.8.0: - resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.5.5: - resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true - eslint-module-utils@2.7.4: - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -5417,36 +5518,50 @@ packages: peerDependencies: eslint: '>=4.19.1' - eslint-plugin-import@2.27.5: - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jsx-a11y@6.7.1: - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + 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.0.0: + resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + 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@7.32.2: - resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + eslint-plugin-react@7.37.2: + resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-simple-import-sort@10.0.0: - resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} + eslint-plugin-simple-import-sort@12.1.1: + resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: eslint: '>=5.0.0' @@ -5456,27 +5571,41 @@ packages: peerDependencies: tailwindcss: ^3.4.0 - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-plugin-tailwindcss@3.17.5: + resolution: {integrity: sha512-8Mi7p7dm+mO1dHgRHHFdPu4RDTBk69Cn4P0B40vRQR+MrguUpwmKwhZy1kqYe3Km8/4nb+cyrCF+5SodOEmaow==} + engines: {node: '>=18.12.0'} + peerDependencies: + tailwindcss: ^3.4.0 - eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.1: resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} + 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} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true - espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.14.0: + resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -5491,10 +5620,6 @@ packages: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -5542,6 +5667,10 @@ packages: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} @@ -5567,6 +5696,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-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -5593,9 +5725,9 @@ packages: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} engines: {node: '>=14'} - 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'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -5620,12 +5752,12 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.2.5: - resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} follow-redirects@1.15.2: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} @@ -5692,6 +5824,10 @@ packages: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -5703,6 +5839,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -5725,12 +5865,20 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} - get-tsconfig@4.5.0: - resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -5756,10 +5904,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - deprecated: Glob versions prior to v9 are no longer supported - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -5781,24 +5925,26 @@ packages: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.12.0: + resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} + engines: {node: '>=18'} + globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} - globalyzer@0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - globby@13.1.3: - resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - globrex@0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -5854,6 +6000,10 @@ packages: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -5862,6 +6012,10 @@ packages: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + has@1.0.4: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} @@ -5950,6 +6104,10 @@ packages: resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} engines: {node: '>=14.18.0'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} @@ -5974,6 +6132,10 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -6018,6 +6180,10 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + intl-messageformat@10.5.10: resolution: {integrity: sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw==} @@ -6047,12 +6213,20 @@ packages: is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -6064,6 +6238,9 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -6076,15 +6253,14 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-electron@2.2.1: resolution: {integrity: sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==} @@ -6092,6 +6268,9 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -6100,6 +6279,10 @@ packages: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -6121,10 +6304,18 @@ packages: is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-network-error@1.0.0: resolution: {integrity: sha512-P3fxi10Aji2FZmHTrMPSNFbNC6nnp4U5juPAIjXPHkUNubi4+qK7vvdsaNpAUwXslhYm9oyjEYTxs1xd/+Ph0w==} engines: {node: '>=16'} @@ -6137,10 +6328,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-path-inside@4.0.0: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} @@ -6171,9 +6358,17 @@ packages: is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -6198,6 +6393,10 @@ packages: resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -6209,12 +6408,20 @@ packages: is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} @@ -6222,10 +6429,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -6269,6 +6472,10 @@ packages: resolution: {integrity: sha512-YAu424ceYpXctxtjcLOqn7vJq082CaoP8J646ZusYISfQc3bpzQErgTUqMFj81V262KG2W9/YMBHsy6A/4yvmg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} + it-length-prefixed@9.0.4: + resolution: {integrity: sha512-lz28fykbG0jq7s5XtvlzGxO5BeSOw6ikymkRllxjL21V5VKLcvB4pHr9wPvEnsAJ2et1xpOk3BRTMq9XrhgKsg==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + it-map@3.0.4: resolution: {integrity: sha512-h5zCxovJQ+mzJT75xP4GkJuFrJQ5l7IIdhZ6AOWaE02g5F7T1k1j4CB/uKSRR05LLLOi1LqG+7CrH9bi8GIXYA==} @@ -6316,6 +6523,10 @@ packages: resolution: {integrity: sha512-xp7tF4fHgx8+vN3Qy/8wGiWUKbC9E1U1g9PwtlbdxD7pY4zld71ZyWZVFHLxnxxg14T9mVNK5uO7U9HK11VQ5g==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} + iterator.prototype@1.1.3: + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} + engines: {node: '>= 0.4'} + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -6384,6 +6595,10 @@ packages: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -6398,8 +6613,9 @@ packages: language-subtag-registry@0.3.21: resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==} - language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} less@4.2.0: resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} @@ -6546,19 +6762,14 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@13.2.0: - resolution: {integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==} - engines: {node: ^14.13.1 || >=16.0.0} + lint-staged@15.2.10: + resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==} + engines: {node: '>=18.12.0'} hasBin: true - listr2@5.0.8: - resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} - engines: {node: ^14.13.1 || >=16.0.0} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@8.2.5: + resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} + engines: {node: '>=18.0.0'} lit-element@3.2.2: resolution: {integrity: sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==} @@ -6621,9 +6832,9 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} long@5.2.0: resolution: {integrity: sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==} @@ -6886,6 +7097,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -6997,9 +7212,6 @@ packages: napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -7108,21 +7320,30 @@ packages: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} - object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} - object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + observable-webworkers@2.0.1: resolution: {integrity: sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} @@ -7142,12 +7363,12 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} - engines: {node: '>=12'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} - optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} ora@5.4.1: @@ -7204,10 +7425,6 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-map@7.0.2: resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} engines: {node: '>=18'} @@ -7348,6 +7565,10 @@ packages: resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} engines: {node: '>=10'} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -7422,6 +7643,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-plugin-tailwindcss@0.6.6: resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==} engines: {node: '>=14.21.3'} @@ -7732,6 +7957,10 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -7739,6 +7968,10 @@ packages: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + engines: {node: '>= 0.4'} + registry-auth-token@5.0.2: resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} @@ -7780,12 +8013,15 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true responselike@3.0.0: @@ -7796,6 +8032,10 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -7804,13 +8044,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} rimraf@4.4.1: resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} @@ -7839,18 +8074,23 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -7905,6 +8145,10 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -7958,22 +8202,14 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + smartwrap@2.0.2: resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} engines: {node: '>=6'} @@ -8043,8 +8279,8 @@ packages: streamx@2.20.1: resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} - string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} string-width@4.2.3: @@ -8055,19 +8291,42 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -8079,6 +8338,10 @@ packages: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8144,8 +8407,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} tailwind-merge@2.5.4: @@ -8214,15 +8477,9 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - timsort@0.3.0: resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} - tiny-glob@0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -8281,6 +8538,12 @@ packages: ts-algebra@1.2.2: resolution: {integrity: sha512-kloPhf1hq3JbCPOTYoOWDKxebWjNb2o/LKnNfkWhxVVisFFmMJPPdJeGoGmM+iRLyoXAR61e08Pb+vUXINg8aA==} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + ts-dedent@2.2.0: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} @@ -8291,8 +8554,8 @@ packages: ts-pattern@5.3.1: resolution: {integrity: sha512-1RUMKa8jYQdNfmnK4jyzBK3/PS/tnjcZ1CW0v1vWDeYe5RBklc/nquw03MEoB66hVBm4BnlCfmOqDVxHyT1DpA==} - tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} @@ -8323,12 +8586,6 @@ packages: typescript: optional: true - tsutils@3.21.0: - 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' - tty-table@4.2.1: resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} engines: {node: '>=8.0.0'} @@ -8411,9 +8668,34 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.13.0: + resolution: {integrity: sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@4.5.2: resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==} engines: {node: '>=4.2.0'} @@ -8714,9 +8996,17 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + engines: {node: '>= 0.4'} + which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} @@ -8724,6 +9014,10 @@ packages: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} engines: {node: '>=8.15'} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} @@ -8742,8 +9036,8 @@ packages: engines: {node: '>=8'} hasBin: true - word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} wrap-ansi@6.2.0: @@ -8758,6 +9052,10 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -9565,20 +9863,35 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.2.0(eslint@8.43.0)': + '@eslint-community/eslint-utils@4.2.0(eslint@9.14.0(jiti@1.21.6))': dependencies: - eslint: 8.43.0 + eslint: 9.14.0(jiti@1.21.6) eslint-visitor-keys: 3.4.1 - '@eslint-community/regexpp@4.4.0': {} + '@eslint-community/eslint-utils@4.4.1(eslint@9.14.0(jiti@1.21.6))': + dependencies: + eslint: 9.14.0(jiti@1.21.6) + eslint-visitor-keys: 3.4.3 - '@eslint/eslintrc@2.0.3': + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.7.0': {} + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.7 - espree: 9.5.2 - globals: 13.20.0 - ignore: 5.2.0 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -9586,7 +9899,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.43.0': {} + '@eslint/js@9.14.0': {} + + '@eslint/object-schema@2.1.4': {} + + '@eslint/plugin-kit@0.2.2': + dependencies: + levn: 0.4.1 '@ethersproject/bytes@5.7.0': dependencies: @@ -9660,17 +9979,18 @@ snapshots: dependencies: tslib: 2.7.0 - '@humanwhocodes/config-array@0.11.10': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@1.2.1': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.0': {} '@ianvs/prettier-plugin-sort-imports@4.1.1(@vue/compiler-sfc@3.3.4)(prettier@3.2.4)': dependencies: @@ -10148,10 +10468,6 @@ snapshots: uint8-varint: 2.0.4 uint8arrays: 5.0.2 - '@next/eslint-plugin-next@13.3.0': - dependencies: - glob: 7.1.7 - '@noble/ciphers@0.4.0': {} '@noble/curves@1.2.0': @@ -10180,6 +10496,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@nolyfill/is-core-module@1.0.39': {} + '@parcel/bundler-default@2.9.3(@parcel/core@2.9.3)': dependencies: '@parcel/diagnostic': 2.9.3 @@ -11051,14 +11369,7 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/utils@2.3.1': - dependencies: - cross-spawn: 7.0.3 - is-glob: 4.0.3 - open: 8.4.0 - picocolors: 1.1.0 - tiny-glob: 0.2.9 - tslib: 2.7.0 + '@pkgr/core@0.1.1': {} '@plasmohq/consolidate@0.17.0(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -13095,7 +13406,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.21.2': optional: true - '@rushstack/eslint-patch@1.2.0': {} + '@rtsao/scc@1.1.0': {} '@scure/base@1.0.0': {} @@ -13114,30 +13425,6 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@status-im/colors@0.4.0': {} - - '@status-im/eslint-config@0.3.0(tailwindcss@3.4.11)(typescript@5.3.3)': - dependencies: - '@typescript-eslint/eslint-plugin': 5.60.0(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint@8.43.0)(typescript@5.3.3) - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - eslint: 8.43.0 - eslint-config-next: 13.3.0(eslint@8.43.0)(typescript@5.3.3) - eslint-config-prettier: 8.8.0(eslint@8.43.0) - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.43.0) - eslint-plugin-react: 7.32.2(eslint@8.43.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.43.0) - eslint-plugin-simple-import-sort: 10.0.0(eslint@8.43.0) - eslint-plugin-tailwindcss: 3.17.4(tailwindcss@3.4.11) - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - - tailwindcss - - typescript - '@storybook/addon-actions@8.3.0(storybook@8.3.0)': dependencies: '@storybook/global': 5.0.0 @@ -13810,6 +14097,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/express-serve-static-core@4.19.5': dependencies: '@types/node': 22.5.5 @@ -13854,6 +14143,8 @@ snapshots: dependencies: ci-info: 3.8.0 + '@types/json-schema@7.0.15': {} + '@types/json-schema@7.0.9': {} '@types/json5@0.0.29': {} @@ -13948,161 +14239,86 @@ snapshots: dependencies: '@types/node': 22.5.5 - '@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint@8.43.0)(typescript@5.3.3)': + '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - debug: 4.3.7 - eslint: 8.43.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.0 - natural-compare-lite: 1.4.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.3.3) - optionalDependencies: - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint@8.43.0)(typescript@5.6.2)': - dependencies: - '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - debug: 4.3.7 - eslint: 8.43.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.0 - natural-compare-lite: 1.4.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.6.2) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/type-utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.13.0 + eslint: 9.14.0(jiti@1.21.6) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3)': + '@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.13.0 debug: 4.3.7 - eslint: 8.43.0 - optionalDependencies: - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2)': - dependencies: - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.6.2) - debug: 4.3.7 - eslint: 8.43.0 + eslint: 9.14.0(jiti@1.21.6) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.60.0': + '@typescript-eslint/scope-manager@8.13.0': dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 - '@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.3.3)': + '@typescript-eslint/type-utils@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.3.3) - '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) debug: 4.3.7 - eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.3.3) - optionalDependencies: - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.6.2)': - dependencies: - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.6.2) - '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - debug: 4.3.7 - eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.6.2) + ts-api-utils: 1.4.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@5.60.0': {} + '@typescript-eslint/types@8.13.0': {} - '@typescript-eslint/typescript-estree@5.60.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 debug: 4.3.7 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 + minimatch: 9.0.5 semver: 7.6.3 - tsutils: 3.21.0(typescript@5.3.3) - optionalDependencies: - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@5.60.0(typescript@5.6.2)': - dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 - debug: 4.3.7 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.3 - tsutils: 3.21.0(typescript@5.6.2) + ts-api-utils: 1.4.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.3.3)': + '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.2.0(eslint@8.43.0) - '@types/json-schema': 7.0.9 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.3.3) - eslint: 8.43.0 - eslint-scope: 5.1.1 - semver: 7.6.3 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.2) + eslint: 9.14.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.6.2)': + '@typescript-eslint/visitor-keys@8.13.0': dependencies: - '@eslint-community/eslint-utils': 4.2.0(eslint@8.43.0) - '@types/json-schema': 7.0.9 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.6.2) - eslint: 8.43.0 - eslint-scope: 5.1.1 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@5.60.0': - dependencies: - '@typescript-eslint/types': 5.60.0 - eslint-visitor-keys: 3.4.1 + '@typescript-eslint/types': 8.13.0 + eslint-visitor-keys: 3.4.3 '@typescript/vfs@1.4.0': dependencies: @@ -14255,7 +14471,7 @@ snapshots: '@waku/utils': 0.0.14 debug: 4.3.7 it-all: 3.0.4 - it-length-prefixed: 9.0.3(patch_hash=qmuwtv474nwwchmh5i4hyi27hm) + it-length-prefixed: 9.0.4 it-pipe: 3.0.1 libp2p: 0.46.18 p-event: 6.0.0 @@ -14388,9 +14604,9 @@ snapshots: dependencies: acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.10.0): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.10.0 + acorn: 8.14.0 acorn-walk@7.2.0: {} @@ -14400,15 +14616,12 @@ snapshots: acorn@8.10.0: {} + acorn@8.14.0: {} + aes-js@4.0.0-beta.3: {} aes-js@4.0.0-beta.5: {} - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -14422,6 +14635,10 @@ snapshots: dependencies: type-fest: 0.21.3 + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -14467,11 +14684,18 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.0: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.2 + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + array-flatten@1.1.1: {} array-includes@3.1.6: @@ -14482,8 +14706,35 @@ snapshots: get-intrinsic: 1.2.4 is-string: 1.0.7 + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + array-union@2.1.0: {} + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + array.prototype.flat@1.3.1: dependencies: call-bind: 1.0.7 @@ -14491,20 +14742,38 @@ snapshots: es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 - array.prototype.flatmap@1.3.1: + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.7 - define-properties: 1.1.4 - es-abstract: 1.21.2 + define-properties: 1.2.1 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.0 - array.prototype.tosorted@1.1.1: + array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 - define-properties: 1.1.4 - es-abstract: 1.21.2 + define-properties: 1.2.1 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.0 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 arrify@1.0.1: {} @@ -14512,14 +14781,12 @@ snapshots: assertion-error@2.0.1: {} - ast-types-flow@0.0.7: {} + ast-types-flow@0.0.8: {} ast-types@0.16.1: dependencies: tslib: 2.7.0 - astral-regex@2.0.0: {} - autoprefixer@10.4.16(postcss@8.4.47): dependencies: browserslist: 4.23.3 @@ -14542,7 +14809,11 @@ snapshots: available-typed-arrays@1.0.5: {} - axe-core@4.6.3: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axe-core@4.10.2: {} axios@0.21.4: dependencies: @@ -14550,12 +14821,10 @@ snapshots: transitivePeerDependencies: - debug - axobject-query@3.1.1: - dependencies: - deep-equal: 2.2.0 - axobject-query@3.2.4: {} + axobject-query@4.1.0: {} + b4a@1.6.7: {} bail@2.0.2: {} @@ -14755,8 +15024,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.2.0: {} - chalk@5.3.0: {} change-case@5.1.2: {} @@ -14793,24 +15060,26 @@ snapshots: ci-info@3.8.0: {} - clean-stack@2.2.0: {} - cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - cli-spinners@2.9.2: {} - - cli-truncate@2.1.0: + cli-cursor@5.0.0: dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + cli-width@4.1.0: {} client-only@0.0.1: {} @@ -14865,11 +15134,11 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 - colorette@2.0.19: {} + colorette@2.0.20: {} colorjs.io@0.4.3: {} - commander@10.0.0: {} + commander@12.1.0: {} commander@4.1.1: {} @@ -15020,6 +15289,24 @@ snapshots: dashify@2.0.0: {} + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + datastore-core@9.2.3: dependencies: '@libp2p/logger': 3.1.0 @@ -15117,13 +15404,17 @@ snapshots: es-errors: 1.3.0 gopd: 1.0.1 - define-lazy-prop@2.0.0: {} - define-properties@1.1.4: dependencies: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + delay@6.0.0: {} denque@2.1.0: {} @@ -15233,6 +15524,8 @@ snapshots: electron-to-chromium@1.5.24: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -15245,7 +15538,7 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.12.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -15262,6 +15555,8 @@ snapshots: env-paths@2.2.1: {} + environment@1.1.0: {} + err-code@3.0.1: {} errno@0.1.8: @@ -15310,6 +15605,55 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.9 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.3 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 @@ -15327,18 +15671,49 @@ snapshots: is-string: 1.0.7 isarray: 2.0.5 + es-iterator-helpers@1.1.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.3 + safe-array-concat: 1.1.2 + es-module-lexer@1.5.4: {} + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + es-set-tostringtag@2.0.1: dependencies: get-intrinsic: 1.2.4 has: 1.0.4 has-tostringtag: 1.0.0 + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + es-shim-unscopables@1.0.0: dependencies: has: 1.0.4 + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 @@ -15473,47 +15848,11 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-next@13.3.0(eslint@8.43.0)(typescript@5.3.3): + eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)): dependencies: - '@next/eslint-plugin-next': 13.3.0 - '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.43.0) - eslint-plugin-react: 7.32.2(eslint@8.43.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.43.0) - optionalDependencies: - typescript: 5.3.3 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color + eslint: 9.14.0(jiti@1.21.6) - eslint-config-next@13.3.0(eslint@8.43.0)(typescript@5.6.2): - dependencies: - '@next/eslint-plugin-next': 13.3.0 - '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.43.0) - eslint-plugin-react: 7.32.2(eslint@8.43.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.43.0) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - - eslint-config-prettier@8.8.0(eslint@8.43.0): - dependencies: - eslint: 8.43.0 - - eslint-import-resolver-node@0.3.7: + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.15.1 @@ -15521,166 +15860,128 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@1.21.6)): dependencies: + '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 - enhanced-resolve: 5.12.0 - eslint: 8.43.0 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - get-tsconfig: 4.5.0 - globby: 13.1.3 - is-core-module: 2.15.1 + enhanced-resolve: 5.17.1 + eslint: 9.14.0(jiti@1.21.6) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)) + fast-glob: 3.3.2 + get-tsconfig: 4.8.1 + is-bun-module: 1.2.1 is-glob: 4.0.3 - synckit: 0.8.5 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0): - dependencies: - debug: 4.3.7 - enhanced-resolve: 5.12.0 - eslint: 8.43.0 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - get-tsconfig: 4.5.0 - globby: 13.1.3 - is-core-module: 2.15.1 - is-glob: 4.0.3 - synckit: 0.8.5 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - - eslint-module-utils@2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.3.3) - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + eslint: 9.14.0(jiti@1.21.6) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.43.0) - transitivePeerDependencies: - - supports-color - - eslint-plugin-eslint-comments@3.2.0(eslint@8.43.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.14.0(jiti@1.21.6)): dependencies: escape-string-regexp: 1.0.5 - eslint: 8.43.0 + eslint: 9.14.0(jiti@1.21.6) ignore: 5.2.0 - eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)): dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - has: 1.0.4 + eslint: 9.14.0(jiti@1.21.6) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@1.21.6)) + hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.8 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 - tsconfig-paths: 3.14.2 + string.prototype.trimend: 1.0.8 + tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.3.3) + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.14.0(jiti@1.21.6)): dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.43.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.43.0) - has: 1.0.4 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.8 - semver: 6.3.1 - tsconfig-paths: 3.14.2 - optionalDependencies: - '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.6.2) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-jsx-a11y@6.7.1(eslint@8.43.0): - dependencies: - '@babel/runtime': 7.22.5 - aria-query: 5.3.0 - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 - axe-core: 4.6.3 - axobject-query: 3.1.1 + aria-query: 5.3.2 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.10.2 + axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.43.0 - has: 1.0.4 - jsx-ast-utils: 3.3.3 - language-tags: 1.0.5 + eslint: 9.14.0(jiti@1.21.6) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - semver: 6.3.1 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@4.6.0(eslint@8.43.0): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)))(eslint@9.14.0(jiti@1.21.6))(prettier@3.3.3): dependencies: - eslint: 8.43.0 + eslint: 9.14.0(jiti@1.21.6) + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.2 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.14.0(jiti@1.21.6)) - eslint-plugin-react@7.32.2(eslint@8.43.0): + eslint-plugin-react-hooks@5.0.0(eslint@9.14.0(jiti@1.21.6)): dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 + eslint: 9.14.0(jiti@1.21.6) + + eslint-plugin-react@7.37.2(eslint@9.14.0(jiti@1.21.6)): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - eslint: 8.43.0 + es-iterator-helpers: 1.1.0 + eslint: 9.14.0(jiti@1.21.6) estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 - eslint-plugin-simple-import-sort@10.0.0(eslint@8.43.0): + eslint-plugin-simple-import-sort@12.1.1(eslint@9.14.0(jiti@1.21.6)): dependencies: - eslint: 8.43.0 + eslint: 9.14.0(jiti@1.21.6) eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.11): dependencies: @@ -15688,67 +15989,70 @@ snapshots: postcss: 8.4.47 tailwindcss: 3.4.11 - eslint-scope@5.1.1: + eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.11): dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + fast-glob: 3.3.2 + postcss: 8.4.47 + tailwindcss: 3.4.11 - eslint-scope@7.2.0: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.1: {} - eslint@8.43.0: + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@9.14.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.2.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.43.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.2.0(eslint@9.14.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.7.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.14.0 + '@eslint/plugin-kit': 0.2.2 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.4.0 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.7 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 - ignore: 5.2.0 - import-fresh: 3.3.0 + ignore: 5.2.4 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.1 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 + optionator: 0.9.4 text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color - espree@9.5.2: + espree@10.3.0: dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.1 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 esprima@4.0.1: {} @@ -15760,8 +16064,6 @@ snapshots: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} - estraverse@5.3.0: {} estree-walker@2.0.2: {} @@ -15836,6 +16138,18 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 3.0.0 + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + expand-template@2.0.3: {} express@4.20.0: @@ -15890,6 +16204,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-fifo@1.3.2: {} fast-glob@3.3.2: @@ -15922,9 +16238,9 @@ snapshots: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.0.4 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -15963,12 +16279,12 @@ snapshots: micromatch: 4.0.8 pkg-dir: 4.2.0 - flat-cache@3.0.4: + flat-cache@4.0.1: dependencies: - flatted: 3.2.5 - rimraf: 3.0.2 + flatted: 3.3.1 + keyv: 4.5.4 - flatted@3.2.5: {} + flatted@3.3.1: {} follow-redirects@1.15.2: {} @@ -16025,12 +16341,21 @@ snapshots: es-abstract: 1.21.2 functions-have-names: 1.2.3 + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + functions-have-names@1.2.3: {} gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} + get-east-asian-width@1.3.0: {} + get-func-name@2.0.2: {} get-intrinsic@1.2.4: @@ -16049,12 +16374,22 @@ snapshots: get-stream@6.0.1: {} + get-stream@8.0.1: {} + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - get-tsconfig@4.5.0: {} + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 github-from-package@0.0.0: {} @@ -16082,15 +16417,6 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 - glob@7.1.7: - 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@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -16121,31 +16447,28 @@ snapshots: dependencies: type-fest: 0.20.2 + globals@14.0.0: {} + + globals@15.12.0: {} + globalthis@1.0.3: dependencies: define-properties: 1.1.4 - globalyzer@0.1.0: {} + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.0 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - globby@13.1.3: - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.2.0 - merge2: 1.4.1 - slash: 4.0.0 - - globrex@0.1.2: {} - gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 @@ -16215,12 +16538,18 @@ snapshots: has-proto@1.0.1: {} + has-proto@1.0.3: {} + has-symbols@1.0.3: {} has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + has@1.0.4: {} hashlru@2.3.0: {} @@ -16288,6 +16617,8 @@ snapshots: human-signals@4.3.0: {} + human-signals@5.0.0: {} + husky@8.0.3: {} iconv-lite@0.4.24: @@ -16304,6 +16635,8 @@ snapshots: ignore@5.2.4: {} + ignore@5.3.2: {} + image-size@0.5.5: optional: true @@ -16359,6 +16692,12 @@ snapshots: has: 1.0.4 side-channel: 1.0.6 + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + intl-messageformat@10.5.10: dependencies: '@formatjs/ecma402-abstract': 1.18.2 @@ -16389,10 +16728,19 @@ snapshots: get-intrinsic: 1.2.4 is-typed-array: 1.1.10 + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} + is-async-function@2.0.0: + dependencies: + has-tostringtag: 1.0.2 + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -16406,6 +16754,10 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.0 + is-bun-module@1.2.1: + dependencies: + semver: 7.6.3 + is-callable@1.2.7: {} is-ci@3.0.1: @@ -16416,20 +16768,30 @@ snapshots: dependencies: hasown: 2.0.2 + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 - is-docker@2.2.1: {} - is-electron@2.2.1: {} is-extglob@2.1.1: {} + is-finalizationregistry@1.0.2: + dependencies: + call-bind: 1.0.7 + is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@4.0.0: {} + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.3.0 + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.0 @@ -16446,8 +16808,12 @@ snapshots: is-map@2.0.2: {} + is-map@2.0.3: {} + is-negative-zero@2.0.2: {} + is-negative-zero@2.0.3: {} + is-network-error@1.0.0: {} is-number-object@1.0.6: @@ -16456,8 +16822,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-path-inside@4.0.0: {} is-plain-obj@1.1.0: {} @@ -16479,10 +16843,16 @@ snapshots: is-set@2.0.2: {} + is-set@2.0.3: {} + is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -16507,12 +16877,18 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.0 + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + is-unicode-supported@0.1.0: {} is-unicode-supported@1.3.0: {} is-weakmap@2.0.1: {} + is-weakmap@2.0.2: {} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 @@ -16522,14 +16898,15 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-what@3.14.1: {} is-windows@1.0.2: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - isarray@2.0.5: {} isbinaryfile@4.0.10: {} @@ -16584,6 +16961,15 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 4.0.6 + it-length-prefixed@9.0.4: + dependencies: + err-code: 3.0.1 + it-reader: 6.0.1 + it-stream-types: 2.0.1 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.0.2 + it-map@3.0.4: dependencies: it-peekable: 3.0.2 @@ -16647,6 +17033,14 @@ snapshots: - bufferutil - utf-8-validate + iterator.prototype@1.1.3: + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -16709,6 +17103,13 @@ snapshots: array-includes: 3.1.6 object.assign: 4.1.4 + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.1 + object.assign: 4.1.4 + object.values: 1.1.6 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -16719,7 +17120,7 @@ snapshots: language-subtag-registry@0.3.21: {} - language-tags@1.0.5: + language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.21 @@ -16884,37 +17285,29 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@13.2.0(enquirer@2.3.6): + lint-staged@15.2.10: dependencies: - chalk: 5.2.0 - cli-truncate: 3.1.0 - commander: 10.0.0 + chalk: 5.3.0 + commander: 12.1.0 debug: 4.3.7 - execa: 7.2.0 - lilconfig: 2.1.0 - listr2: 5.0.8(enquirer@2.3.6) + execa: 8.0.1 + lilconfig: 3.1.2 + listr2: 8.2.5 micromatch: 4.0.8 - normalize-path: 3.0.0 - object-inspect: 1.13.2 pidtree: 0.6.0 - string-argv: 0.3.1 + string-argv: 0.3.2 yaml: 2.5.1 transitivePeerDependencies: - - enquirer - supports-color - listr2@5.0.8(enquirer@2.3.6): + listr2@8.2.5: dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 - through: 2.3.8 - wrap-ansi: 7.0.0 - optionalDependencies: - enquirer: 2.3.6 + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 lit-element@3.2.2: dependencies: @@ -16999,12 +17392,13 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-update@4.0.0: + log-update@6.1.0: dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 long@5.2.0: {} @@ -17424,6 +17818,8 @@ snapshots: mimic-fn@4.0.0: {} + mimic-function@5.0.1: {} + mimic-response@3.1.0: {} mimic-response@4.0.0: {} @@ -17524,8 +17920,6 @@ snapshots: napi-build-utils@1.0.2: {} - natural-compare-lite@1.4.0: {} - natural-compare@1.4.0: {} needle@3.3.1: @@ -17615,22 +18009,31 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.entries@1.1.6: + object.assign@4.1.5: dependencies: call-bind: 1.0.7 - define-properties: 1.1.4 - es-abstract: 1.21.2 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 - object.fromentries@2.0.6: + object.entries@1.1.8: dependencies: call-bind: 1.0.7 - define-properties: 1.1.4 - es-abstract: 1.21.2 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - object.hasown@1.1.2: + object.fromentries@2.0.8: dependencies: - define-properties: 1.1.4 - es-abstract: 1.21.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 object.values@1.1.6: dependencies: @@ -17638,6 +18041,12 @@ snapshots: define-properties: 1.1.4 es-abstract: 1.21.2 + object.values@1.2.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + observable-webworkers@2.0.1: {} on-finished@2.4.1: @@ -17656,20 +18065,18 @@ snapshots: dependencies: mimic-fn: 4.0.0 - open@8.4.0: + onetime@7.0.0: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 + mimic-function: 5.0.1 - optionator@0.9.1: + optionator@0.9.4: dependencies: 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 + word-wrap: 1.2.5 ora@5.4.1: dependencies: @@ -17723,10 +18130,6 @@ snapshots: p-map@2.1.0: {} - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-map@7.0.2: {} p-queue@7.4.1: @@ -17927,6 +18330,8 @@ snapshots: dependencies: '@babel/runtime': 7.22.5 + possible-typed-array-names@1.0.0: {} + postcss-import@15.1.0(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -18010,6 +18415,10 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + prettier-plugin-tailwindcss@0.6.6(@ianvs/prettier-plugin-sort-imports@4.1.1(@vue/compiler-sfc@3.3.4)(prettier@3.2.4))(prettier@3.2.4): dependencies: prettier: 3.2.4 @@ -18407,6 +18816,16 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + reflect.getprototypeof@1.0.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 + regenerator-runtime@0.13.11: {} regexp.prototype.flags@1.4.3: @@ -18415,6 +18834,13 @@ snapshots: define-properties: 1.1.4 functions-have-names: 1.2.3 + regexp.prototype.flags@1.5.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + registry-auth-token@5.0.2: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -18476,13 +18902,15 @@ snapshots: resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} + resolve@1.22.8: dependencies: is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.4: + resolve@2.0.0-next.5: dependencies: is-core-module: 2.15.1 path-parse: 1.0.7 @@ -18497,15 +18925,16 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + retry@0.13.1: {} reusify@1.0.4: {} - rfdc@1.3.0: {} - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 + rfdc@1.4.1: {} rimraf@4.4.1: dependencies: @@ -18549,14 +18978,17 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rxjs@7.8.0: - dependencies: - tslib: 2.7.0 - rxjs@7.8.1: dependencies: tslib: 2.7.0 + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + safe-buffer@5.2.1: {} safe-regex-test@1.0.0: @@ -18565,6 +18997,12 @@ snapshots: get-intrinsic: 1.2.4 is-regex: 1.1.4 + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + safer-buffer@2.1.2: {} sanitize-filename@1.6.3: @@ -18650,6 +19088,13 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + setprototypeof@1.2.0: {} sharp@0.32.6: @@ -18704,25 +19149,16 @@ snapshots: slash@3.0.0: {} - slash@4.0.0: {} - - slice-ansi@3.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - - slice-ansi@4.0.0: - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + smartwrap@2.0.2: dependencies: array.prototype.flat: 1.3.1 @@ -18798,7 +19234,7 @@ snapshots: optionalDependencies: bare-events: 2.5.0 - string-argv@0.3.1: {} + string-argv@0.3.2: {} string-width@4.2.3: dependencies: @@ -18812,16 +19248,37 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.0.1 - string.prototype.matchall@4.0.8: + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + + string.prototype.includes@2.0.1: dependencies: call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.3 + set-function-name: 2.0.2 + side-channel: 1.0.6 + + string.prototype.repeat@1.0.0: + dependencies: define-properties: 1.1.4 es-abstract: 1.21.2 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.4.3 - side-channel: 1.0.6 string.prototype.trim@1.2.7: dependencies: @@ -18829,18 +19286,37 @@ snapshots: define-properties: 1.1.4 es-abstract: 1.21.2 + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + string.prototype.trimend@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.1.4 es-abstract: 1.21.2 + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + string.prototype.trimstart@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.1.4 es-abstract: 1.21.2 + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -18853,6 +19329,10 @@ snapshots: dependencies: ansi-regex: 6.0.1 + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + strip-bom@3.0.0: {} strip-final-newline@2.0.0: {} @@ -18932,9 +19412,9 @@ snapshots: csso: 5.0.5 picocolors: 1.1.0 - synckit@0.8.5: + synckit@0.9.2: dependencies: - '@pkgr/utils': 2.3.1 + '@pkgr/core': 0.1.1 tslib: 2.7.0 tailwind-merge@2.5.4: {} @@ -19034,15 +19514,8 @@ snapshots: dependencies: any-promise: 1.3.0 - through@2.3.8: {} - timsort@0.3.0: {} - tiny-glob@0.2.9: - dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 - tiny-invariant@1.3.3: {} tinybench@2.4.0: {} @@ -19083,13 +19556,17 @@ snapshots: ts-algebra@1.2.2: {} + ts-api-utils@1.4.0(typescript@5.6.2): + dependencies: + typescript: 5.6.2 + ts-dedent@2.2.0: {} ts-interface-checker@0.1.13: {} ts-pattern@5.3.1: {} - tsconfig-paths@3.14.2: + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -19132,16 +19609,6 @@ snapshots: - supports-color - ts-node - tsutils@3.21.0(typescript@5.3.3): - dependencies: - tslib: 1.14.1 - typescript: 5.3.3 - - tsutils@3.21.0(typescript@5.6.2): - dependencies: - tslib: 1.14.1 - typescript: 5.6.2 - tty-table@4.2.1: dependencies: chalk: 4.1.2 @@ -19208,12 +19675,55 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + typed-array-length@1.0.4: dependencies: call-bind: 1.0.7 for-each: 0.3.3 is-typed-array: 1.1.10 + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typescript-eslint@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.2) + optionalDependencies: + typescript: 5.6.2 + transitivePeerDependencies: + - eslint + - supports-color + typescript@4.5.2: {} typescript@5.2.2: {} @@ -19546,6 +20056,21 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 + which-builtin-type@1.1.4: + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + which-collection@1.0.1: dependencies: is-map: 2.0.2 @@ -19553,6 +20078,13 @@ snapshots: is-weakmap: 2.0.1 is-weakset: 2.0.2 + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + which-module@2.0.0: {} which-pm@2.0.0: @@ -19560,6 +20092,14 @@ snapshots: load-yaml-file: 0.2.0 path-exists: 4.0.0 + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + which-typed-array@1.1.9: dependencies: available-typed-arrays: 1.0.5 @@ -19582,7 +20122,7 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - word-wrap@1.2.3: {} + word-wrap@1.2.5: {} wrap-ansi@6.2.0: dependencies: @@ -19602,6 +20142,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.0.1 + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + wrappy@1.0.2: {} ws@8.14.2: {} diff --git a/turbo.json b/turbo.json index 07e215fa..059c808b 100644 --- a/turbo.json +++ b/turbo.json @@ -9,6 +9,9 @@ "dependsOn": ["^build"], "outputs": ["dist/**", "storybook-static/**"] }, + "connector#build": { + "dependsOn": ["^build"] + }, "dev": { "cache": false },