diff --git a/.changeset/honest-onions-explain.md b/.changeset/honest-onions-explain.md new file mode 100644 index 00000000..3369a662 --- /dev/null +++ b/.changeset/honest-onions-explain.md @@ -0,0 +1,7 @@ +--- +'@apitree.cz/ts-config': minor +--- + +BREAKING: Drop CJS support completely. + +Added `node` config for Node.js services and apps. diff --git a/.changeset/nervous-jars-jam.md b/.changeset/nervous-jars-jam.md new file mode 100644 index 00000000..2c0fe121 --- /dev/null +++ b/.changeset/nervous-jars-jam.md @@ -0,0 +1,12 @@ +--- +'@apitree.cz/prettier-config': patch +'@apitree.cz/testing-library': patch +'@apitree.cz/typedoc-config': patch +'@apitree.cz/eslint-config': patch +'@apitree.cz/vitest-config': patch +'@apitree.cz/ts-config': patch +'@apitree.cz/ts-utils': patch +'@apitree.cz/cli': patch +--- + +Upgrade dependencies to latest version. diff --git a/.changeset/silent-seals-wonder.md b/.changeset/silent-seals-wonder.md new file mode 100644 index 00000000..f5bddf9f --- /dev/null +++ b/.changeset/silent-seals-wonder.md @@ -0,0 +1,5 @@ +--- +'@apitree.cz/testing-library': minor +--- + +BREAKING: Migrate to `react@19` and `vitest@3`. diff --git a/.changeset/tender-dolls-grab.md b/.changeset/tender-dolls-grab.md new file mode 100644 index 00000000..0f3b5c70 --- /dev/null +++ b/.changeset/tender-dolls-grab.md @@ -0,0 +1,5 @@ +--- +'@apitree.cz/vitest-config': minor +--- + +BREAKING: Migrate to `vitest@3`. diff --git a/.changeset/violet-bears-divide.md b/.changeset/violet-bears-divide.md new file mode 100644 index 00000000..2d7202b4 --- /dev/null +++ b/.changeset/violet-bears-divide.md @@ -0,0 +1,11 @@ +--- +'@apitree.cz/eslint-config': minor +--- + +BREAKING: + +- migrate to `eslint@9` and flat config +- migrate to `react@19` +- drop CJS support completely + +This package is now pure ESM.- diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/README.md b/README.md index d0853b4e..618f39ef 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,8 @@ Powered by [Turbo](https://turbo.build/repo/docs) ### Prerequisites -- node.js `>=20` -- pnpm `>=8` - -> **Note:** This repository contains [pure ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) packages. +- node.js `v22` +- pnpm `v10` ### Installation diff --git a/commitlint.config.cjs b/commitlint.config.js similarity index 72% rename from commitlint.config.cjs rename to commitlint.config.js index bbac82aa..76d42044 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.js @@ -1,3 +1,3 @@ -module.exports = { +export default { extends: '@commitlint/config-conventional', }; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..7606cfa3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,3 @@ +import { base, react } from '@apitree.cz/eslint-config'; + +export default [...base, ...react]; diff --git a/package.json b/package.json index fd0ebf66..3caa27ea 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "apitree.cz-toolbox", "version": "0.0.0", "private": true, - "description": "Shared configuration and utilities for ApiTree projects.", + "description": "Shared configurations and utilities for ApiTree projects.", "repository": { "type": "git", "url": "https://github.com/ApiTreeCZ/toolbox" @@ -13,31 +13,29 @@ "Vít Rozsíval { }); }); if (sync.length === 0) { - return logger.warn('No project references to sync.'); + logger.warn('No project references to sync.'); + return; } const paths = await Promise.all(sync); await runHooks(hooks, paths.flat()); diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index f0a17e77..9c9f3e84 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "bin/**/*", "src/**/*"], + "include": ["./*.js", "bin/**/*", "src/**/*"], "exclude": ["dist", "node_modules"], "references": [{ "path": "../ts-utils/tsconfig.build.json" }, { "path": "../typedoc-config/tsconfig.build.json" }] } diff --git a/packages/eslint-config/.eslintrc.js b/packages/eslint-config/.eslintrc.js deleted file mode 100644 index 715e8432..00000000 --- a/packages/eslint-config/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - extends: './cjs', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, - rules: { - 'no-magic-numbers': 'off', - }, -}; diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index f0a7231d..84752bf2 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -18,64 +18,53 @@ pnpm add --save-dev @apitree.cz/eslint-config eslint ## Usage -Use one of the following configurations in your `.eslintrc.cjs`: +Use one of the following configurations in your repository's root `eslint.config.js` file. ### Base ```javascript -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; -``` - -### CommonJS - -```javascript -module.exports = { - extends: '@apitree.cz/eslint-config/cjs', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; +export { base as default } from '@apitree.cz/eslint-config'; ``` ### React ```javascript -module.exports = { - extends: '@apitree.cz/eslint-config/react', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; +import { base, react } from '@apitree.cz/eslint-config'; + +export default [...base, ...react]; ``` ### Next.js +Next.js configuration requires to specify the path to the app(s). + ```javascript -module.exports = { - extends: '@apitree.cz/eslint-config/nextjs', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, +import { base, react, nextjs } from '@apitree.cz/eslint-config'; + +export default [ + ...base, + ...react, + { + files: ['apps/*//**/*'], + // or `files: ['**/*.{ts,tsx}']` in single-app repo + ...nextjs, }, -}; +]; ``` ### Nest.js +Nest.js configuration requires to specify the path to the app(s). + ```javascript -module.exports = { - extends: '@apitree.cz/eslint-config/nestjs', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, +import { base, nestjs } from '@apitree.cz/eslint-config'; + +export default [ + ...base, + { + files: ['apps/*//**/*'], + // or `files: ['**/*.ts']` in single-app repo + ...nestjs, }, -}; +]; ``` diff --git a/packages/eslint-config/base.js b/packages/eslint-config/base.js deleted file mode 100644 index 2e36896d..00000000 --- a/packages/eslint-config/base.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/base'); diff --git a/packages/eslint-config/cjs.js b/packages/eslint-config/cjs.js deleted file mode 100644 index f551f805..00000000 --- a/packages/eslint-config/cjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/cjs'); diff --git a/packages/eslint-config/index.d.ts b/packages/eslint-config/index.d.ts deleted file mode 100644 index 5b45b598..00000000 --- a/packages/eslint-config/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -// eslint-disable-next-line import/export,import/extensions -export type * from './dist/index.d.ts'; diff --git a/packages/eslint-config/index.js b/packages/eslint-config/index.js deleted file mode 100644 index cce69335..00000000 --- a/packages/eslint-config/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist'); diff --git a/packages/eslint-config/lint-staged.config.js b/packages/eslint-config/lint-staged.config.js index bf0719dc..df37b0f5 100644 --- a/packages/eslint-config/lint-staged.config.js +++ b/packages/eslint-config/lint-staged.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { './**/*.js': 'eslint --cache --fix', './**/*.{json,md}': 'prettier --write', './**/*.ts': [() => 'tsc --build tsconfig.json', 'eslint --cache --fix'], diff --git a/packages/eslint-config/nestjs.js b/packages/eslint-config/nestjs.js deleted file mode 100644 index 10538020..00000000 --- a/packages/eslint-config/nestjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/nestjs'); diff --git a/packages/eslint-config/nextjs.js b/packages/eslint-config/nextjs.js deleted file mode 100644 index 42f8ef4e..00000000 --- a/packages/eslint-config/nextjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/nextjs'); diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 9fc19e98..7dad1b2c 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -8,18 +8,35 @@ "directory": "packages/eslint-config" }, "sideEffects": false, - "type": "commonjs", - "main": "./index.js", - "types": "./index.d.ts", + "type": "module", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./base": { + "import": "./dist/base/config.js", + "types": "./dist/base/config.d.ts" + }, + "./nestjs": { + "import": "./dist/nestjs/config.js", + "types": "./dist/nestjs/config.d.ts" + }, + "./nextjs": { + "import": "./dist/nextjs/config.js", + "types": "./dist/nextjs/config.d.ts" + }, + "./react": { + "import": "./dist/react/config.js", + "types": "./dist/react/config.d.ts" + }, + "./storybook": { + "import": "./dist/storybook/config.js", + "types": "./dist/storybook/config.d.ts" + } + }, "files": [ - "base.js", - "cjs.js", - "dist", - "index.js", - "nestjs.js", - "nextjs.js", - "react.js", - "storybook.js" + "dist" ], "scripts": { "prebuild": "del dist tsconfig.build.tsbuildinfo", @@ -28,44 +45,48 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext js,ts .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "ts": "tsc --build tsconfig.json" }, "dependencies": { - "@next/eslint-plugin-next": "^15.1.4", - "@types/eslint": "^8.56.11", - "@typescript-eslint/eslint-plugin": "^8.19.1", - "@typescript-eslint/parser": "^8.19.1", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "^2.3.3", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "^9.19.0", + "@next/eslint-plugin-next": "^15.1.6", + "@types/eslint": "^9.6.1", + "@typescript-eslint/parser": "^8.22.0", + "@vitest/eslint-plugin": "^1.1.25", + "eslint-config-prettier": "^10.0.1", + "eslint-config-turbo": "^2.3.4", "eslint-import-resolver-typescript": "^3.7.0", - "eslint-plugin-formatjs": "4.13.3", + "eslint-plugin-formatjs": "^5.2.13", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest-dom": "^5.5.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-mdx": "^3.1.5", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-react": "^7.37.3", - "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-react": "^7.37.4", + "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-storybook": "^0.11.2", "eslint-plugin-testing-library": "^7.1.1", + "eslint-plugin-turbo": "^2.3.4", "eslint-plugin-unicorn": "^56.0.1", "eslint-plugin-unused-imports": "^4.1.4", - "eslint-plugin-vitest": "^0.5.4", - "vitest": "^2.1.8" + "globals": "^15.14.0", + "typescript-eslint": "^8.22.0", + "vitest": "^3.0.4" }, "devDependencies": { - "eslint": "^8.57.1", + "@types/eslint__eslintrc": "^2.1.2", + "eslint": "^9.19.0", "prettier": "^3.4.2", - "react": "^18.3.1", + "react": "^19.0.0", "typescript": "^5.7.3" }, "peerDependencies": { - "eslint": "^8.57.1", - "react": "^18.3.1" + "eslint": "^9.19.0", + "react": "^19.0.0" }, "peerDependenciesMeta": { "react": { diff --git a/packages/eslint-config/react.js b/packages/eslint-config/react.js deleted file mode 100644 index 70e1111a..00000000 --- a/packages/eslint-config/react.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/react'); diff --git a/packages/eslint-config/src/base.ts b/packages/eslint-config/src/base.ts deleted file mode 100644 index 18e95955..00000000 --- a/packages/eslint-config/src/base.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { config } from './base/config'; - -export = config; diff --git a/packages/eslint-config/src/base/config.ts b/packages/eslint-config/src/base/config.ts index f3234d18..9efda418 100644 --- a/packages/eslint-config/src/base/config.ts +++ b/packages/eslint-config/src/base/config.ts @@ -1,31 +1,87 @@ +import eslint from '@eslint/js'; +import vitest from '@vitest/eslint-plugin'; import type { Linter } from 'eslint'; +import imports from 'eslint-plugin-import'; +import prettier from 'eslint-plugin-prettier/recommended'; +import turbo from 'eslint-plugin-turbo'; +import unicorn from 'eslint-plugin-unicorn'; +import unusedImports from 'eslint-plugin-unused-imports'; +import globals from 'globals'; +import tsEslint, { + configs as tsEslintConfigs, + parser as tsEslintParser, + plugin as tsEslintPlugin, +} from 'typescript-eslint'; +import type { ConfigArray } from 'typescript-eslint'; -import { importExtensions } from '../constants'; +import { importExtensions } from '../constants.js'; -import { overrides } from './overrides'; -import { rules } from './rules'; +import * as rules from './rules/index.js'; -export const config = { - env: { es2024: true, node: true }, - extends: [ - 'plugin:@typescript-eslint/recommended', - 'plugin:import/typescript', - 'plugin:prettier/recommended', - 'plugin:unicorn/recommended', - 'prettier', - 'turbo', - ], - ignorePatterns: ['.idea', '.vscode', 'build', 'coverage', 'dist', 'node_modules'], - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaFeatures: { modules: true }, - sourceType: 'module', +export const config: ConfigArray = tsEslint.config( + { + ignores: [ + '.idea/**/*', + '.vscode/**/*', + '**/build/**/*', + '**/coverage/**/*', + '**/dist/**/*', + '**/node_modules/**/*', + ], }, - plugins: ['@typescript-eslint', 'import', 'prettier', 'unicorn', 'unused-imports', 'prettier', 'turbo'], - rules, - overrides, - settings: { - 'import/extensions': importExtensions, - 'import/resolver': { typescript: {} }, + eslint.configs.recommended, + prettier, + { + extends: [imports.flatConfigs.recommended, imports.flatConfigs.typescript] as Linter.Config[], + plugins: { + '@typescript-eslint': tsEslintPlugin, + 'unused-imports': unusedImports, + turbo, + unicorn, + }, + languageOptions: { + globals: globals.builtin, + parser: tsEslintParser, + parserOptions: { + ecmaVersion: 'latest', + project: `${process.cwd()}/tsconfig.json`, + projectService: true, + sourceType: 'module', + }, + }, + rules: { + ...rules.common, + ...rules.imports, + ...rules.unicorn, + }, + settings: { + 'import/extensions': importExtensions, + 'import/resolver': { + typescript: true, + }, + }, }, -} satisfies Linter.Config; + { + files: ['**/*.{ts,tsx}'], + extends: [tsEslintConfigs.strictTypeChecked], + rules: rules.typescript, + }, + { + files: ['**/*.js'], + extends: [tsEslintConfigs.disableTypeChecked], + }, + { + files: [ + '**/*.spec.ts', + '**/*.test.ts', + '**/mock/**/*.ts', + '**/mocks/**/*.ts', + '**/test/**/*.ts', + '**/tests/**/*.ts', + ], + plugins: { + vitest, + }, + rules: vitest.configs.recommended.rules, + }, +); diff --git a/packages/eslint-config/src/base/overrides/index.ts b/packages/eslint-config/src/base/overrides/index.ts deleted file mode 100644 index 74b0b878..00000000 --- a/packages/eslint-config/src/base/overrides/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { javascript } from './javascript'; -import { tests } from './tests'; -import { typescript } from './typescript'; - -// WARNING: The order of these overrides matters. The most specific overrides should be last. -export const overrides = [javascript, ...typescript, tests]; diff --git a/packages/eslint-config/src/base/overrides/javascript.ts b/packages/eslint-config/src/base/overrides/javascript.ts deleted file mode 100644 index f500578d..00000000 --- a/packages/eslint-config/src/base/overrides/javascript.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -export const javascript = { - files: '*.cjs', - rules: { - '@typescript-eslint/no-var-requires': 'off', // Allow require() in CJS files - }, -} satisfies Linter.ConfigOverride; diff --git a/packages/eslint-config/src/base/overrides/tests.ts b/packages/eslint-config/src/base/overrides/tests.ts deleted file mode 100644 index 748e9f32..00000000 --- a/packages/eslint-config/src/base/overrides/tests.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Linter } from 'eslint'; - -export const tests = { - files: ['*.spec.ts', '*.test.ts', 'mock/**/*', 'mocks/**/*', 'tests/**/*'], - extends: ['plugin:vitest/legacy-recommended'], - rules: { - 'no-magic-numbers': 'off', // Allow magic numbers in tests and mocks - 'unicorn/consistent-function-scoping': 'off', // Allow nested functions in tests and mocks - 'unicorn/prevent-abbreviations': 'off', // Allow abbreviations in tests and mocks - }, -} satisfies Linter.ConfigOverride; diff --git a/packages/eslint-config/src/base/overrides/typescript.ts b/packages/eslint-config/src/base/overrides/typescript.ts deleted file mode 100644 index 2deb1b21..00000000 --- a/packages/eslint-config/src/base/overrides/typescript.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { Linter } from 'eslint'; - -import { typescript as rules } from '../rules/typescript'; - -export const typescript = [ - { - files: '*.ts', - extends: ['plugin:@typescript-eslint/recommended-requiring-type-checking', 'plugin:@typescript-eslint/strict'], - rules: { - ...rules, - '@typescript-eslint/consistent-type-assertions': 'error', // Enforce consistent usage of type assertions - '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], // Prefer interface to type - '@typescript-eslint/consistent-type-exports': 'error', // Enforce consistent usage of type exports - '@typescript-eslint/consistent-type-imports': 'error', // Enforce types being imported with `type` keyword - '@typescript-eslint/no-empty-interface': 'error', // Disallow empty interfaces - '@typescript-eslint/no-unsafe-declaration-merging': 'error', // Guard declaration merging against unsafe usage - '@typescript-eslint/sort-type-constituents': 'error', // Sort union or intersection type members alphabetically - }, - }, - { - files: '*.d.ts', - rules: { - '@typescript-eslint/consistent-type-imports': 'off', // Allow inconsistent usage of type imports in declaration files - }, - }, -] satisfies Linter.ConfigOverride[]; diff --git a/packages/eslint-config/src/base/rules/common.ts b/packages/eslint-config/src/base/rules/common.ts index ecde5fca..186324df 100644 --- a/packages/eslint-config/src/base/rules/common.ts +++ b/packages/eslint-config/src/base/rules/common.ts @@ -1,5 +1,7 @@ import type { Linter } from 'eslint'; +const lineLength = 120; + export const common: Linter.RulesRecord = { 'array-callback-return': [ 'error', @@ -20,11 +22,11 @@ export const common: Linter.RulesRecord = { 'max-len': [ // Enforce max line length 'error', - 120, // Characters per line + lineLength, // Characters per line 2, // Tab width { ignoreUrls: true, // Let URLs be as long as they need to be - ignoreComments: false, // Enforce max line length in comments + ignoreComments: true, // Allow comments to be as long as they need to be ignoreRegExpLiterals: true, // Let regex literals be as long as they need to be ignoreStrings: true, // Let strings be as long as they need to be ignoreTemplateLiterals: true, // Let template literals be as long as they need to be diff --git a/packages/eslint-config/src/base/rules/imports.ts b/packages/eslint-config/src/base/rules/imports.ts index 3587b9ab..67518ebf 100644 --- a/packages/eslint-config/src/base/rules/imports.ts +++ b/packages/eslint-config/src/base/rules/imports.ts @@ -1,10 +1,20 @@ import type { Linter } from 'eslint'; -import { getExtraneousDependenciesRule, getImportExtensionsRule } from '../../utils'; +import { extraneousDependenciesPatterns, importExtensions } from '../../constants.js'; +import { getImportExtensionsRecord } from '../../utils.js'; export const imports: Linter.RulesRecord = { - ...getImportExtensionsRule(), - ...getExtraneousDependenciesRule('**/mock/**/*', '**/mocks/**/*'), // Allow importing devDependencies in mock files + 'import/extensions': [ + // Avoid unnecessary file extensions in imports + 'error', + 'ignorePackages', + getImportExtensionsRecord(importExtensions), + ], + 'import/no-extraneous-dependencies': [ + // Avoid importing devDependencies in production code + 'error', + { devDependencies: extraneousDependenciesPatterns }, + ], 'import/order': [ // Sort and group imports by type 'error', diff --git a/packages/eslint-config/src/base/rules/index.ts b/packages/eslint-config/src/base/rules/index.ts index a88f3bd8..b1e5cea6 100644 --- a/packages/eslint-config/src/base/rules/index.ts +++ b/packages/eslint-config/src/base/rules/index.ts @@ -1,11 +1,4 @@ -import { common } from './common'; -import { imports } from './imports'; -import { typescript } from './typescript'; -import { unicorn } from './unicorn'; - -export const rules = { - ...common, - ...imports, - ...typescript, - ...unicorn, -}; +export * from './common.js'; +export * from './imports.js'; +export * from './typescript.js'; +export * from './unicorn.js'; diff --git a/packages/eslint-config/src/base/rules/typescript.ts b/packages/eslint-config/src/base/rules/typescript.ts index 132a816c..834aedf6 100644 --- a/packages/eslint-config/src/base/rules/typescript.ts +++ b/packages/eslint-config/src/base/rules/typescript.ts @@ -1,6 +1,13 @@ import type { Linter } from 'eslint'; export const typescript: Linter.RulesRecord = { + '@typescript-eslint/consistent-type-assertions': 'error', // Enforce consistent usage of type assertions + '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], // Prefer interface to type + '@typescript-eslint/consistent-type-exports': 'error', // Enforce consistent usage of type exports + '@typescript-eslint/consistent-type-imports': 'error', // Enforce types being imported with `type` keyword + '@typescript-eslint/no-empty-interface': 'error', // Disallow empty interfaces + '@typescript-eslint/no-unsafe-declaration-merging': 'error', // Guard declaration merging against unsafe usage '@typescript-eslint/no-unused-vars': 'off', // Guarded by eslint-plugin-unused-imports '@typescript-eslint/no-use-before-define': 'error', // Disallow usage of variables before their declaration + '@typescript-eslint/sort-type-constituents': 'error', // Sort union or intersection type members alphabetically }; diff --git a/packages/eslint-config/src/base/rules/unicorn.ts b/packages/eslint-config/src/base/rules/unicorn.ts index 9bc6219d..77ee9e2a 100644 --- a/packages/eslint-config/src/base/rules/unicorn.ts +++ b/packages/eslint-config/src/base/rules/unicorn.ts @@ -12,9 +12,13 @@ export const unicorn: Linter.RulesRecord = { args: { arguments: false, }, + dev: { + developer: false, + development: false, + }, docs: { - documents: false, documentation: false, + documents: false, }, params: { parameters: false, diff --git a/packages/eslint-config/src/cjs.ts b/packages/eslint-config/src/cjs.ts deleted file mode 100644 index 7084f0dd..00000000 --- a/packages/eslint-config/src/cjs.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Linter } from 'eslint'; - -export = { - extends: [require.resolve('./base')], - rules: { - '@typescript-eslint/no-require-imports': 'off', - 'unicorn/prefer-module': 'off', - }, -} satisfies Linter.Config; diff --git a/packages/eslint-config/src/constants.ts b/packages/eslint-config/src/constants.ts index 6462d790..86922ce6 100644 --- a/packages/eslint-config/src/constants.ts +++ b/packages/eslint-config/src/constants.ts @@ -1,13 +1,17 @@ export const extraneousDependenciesPatterns = [ - '**/*.config.cjs', '**/*.config.js', - '**/*.config.mjs', '**/*.config.ts', + '**/.storybook/**/*', '**/codegen.ts', + '**/mock/**/*', + '**/mocks/**/*', '**/scripts/**/*', + '**/stories/**/*', + '**/storybook/config/**/*', + '**/test/**/*', '**/tests/**/*', '**/types/*.d.ts', '**/vite.config.ts', ] as const; -export const importExtensions = ['.cjs', '.js', '.ts'] as const; +export const importExtensions = ['.ts', '.tsx'] as const; diff --git a/packages/eslint-config/src/index.ts b/packages/eslint-config/src/index.ts index 1d155a6f..8aab74a1 100644 --- a/packages/eslint-config/src/index.ts +++ b/packages/eslint-config/src/index.ts @@ -1,5 +1,5 @@ -import type { Linter } from 'eslint'; - -export = { - extends: ['airbnb-base', require.resolve('./base')], -} satisfies Linter.Config; +export { config as base } from './base/config.js'; +export { config as nestjs } from './nestjs/config.js'; +export { config as nextjs } from './nextjs/config.js'; +export { config as react } from './react/config.js'; +export { config as storybook } from './storybook/config.js'; diff --git a/packages/eslint-config/src/modules.d.ts b/packages/eslint-config/src/modules.d.ts new file mode 100644 index 00000000..318d677c --- /dev/null +++ b/packages/eslint-config/src/modules.d.ts @@ -0,0 +1,18 @@ +declare module 'eslint-plugin-import' { + import type { ESLint } from 'eslint'; + + declare const plugin: ESLint.Plugin & { + flatConfigs: { + recommended: ESLint.Linter.Config; + typescript: ESLint.Linter.Config; + }; + }; + export default plugin; +} + +declare module 'eslint-plugin-react-hooks' { + import type { ESLint } from 'eslint'; + + declare const plugin: ESLint.Plugin; + export default plugin; +} diff --git a/packages/eslint-config/src/nestjs.ts b/packages/eslint-config/src/nestjs.ts deleted file mode 100644 index 8c5889db..00000000 --- a/packages/eslint-config/src/nestjs.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -import { config } from './nestjs/config'; - -export = { - ...config, - extends: [require.resolve('./base')], -} satisfies Linter.Config; diff --git a/packages/eslint-config/src/nestjs/config.ts b/packages/eslint-config/src/nestjs/config.ts index e8d6de89..832a504b 100644 --- a/packages/eslint-config/src/nestjs/config.ts +++ b/packages/eslint-config/src/nestjs/config.ts @@ -1,10 +1,29 @@ -import type { Linter } from 'eslint'; +import { FlatCompat } from '@eslint/eslintrc'; -import { overrides } from './overrides'; -import { rules } from './rules'; +const compat = new FlatCompat({ + baseDirectory: process.cwd(), +}); -export const config = { - env: { browser: false }, - rules, - overrides, -} satisfies Linter.Config; +export const config = compat.config({ + overrides: [ + { + files: ['src/**/models/**/*.ts'], + rules: { + 'import/no-cycle': 'off', // Allow circular dependencies in models as they might reference each other + }, + }, + { + files: ['src/**/*.ts'], + rules: { + 'class-methods-use-this': 'off', // Allow class methods that don't use `this` keyword + 'no-empty-function': ['error', { allow: ['constructors'] }], // Allow empty constructors for Nest classes + '@typescript-eslint/consistent-type-imports': 'off', // Allow types being imported without `type` keyword as Nest.js services and models are ambiguous + '@typescript-eslint/no-extraneous-class': [ + // Allow classes that are used as Nest decorators + 'error', + { allowWithDecorator: true }, + ], + }, + }, + ], +}); diff --git a/packages/eslint-config/src/nestjs/overrides.ts b/packages/eslint-config/src/nestjs/overrides.ts deleted file mode 100644 index 16492386..00000000 --- a/packages/eslint-config/src/nestjs/overrides.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Linter } from 'eslint'; - -export const overrides = [ - { - files: 'src/*/models/*.ts', - rules: { - 'import/no-cycle': 'off', // Allow circular dependencies in models as they might reference each other - }, - }, -] satisfies Linter.ConfigOverride[]; diff --git a/packages/eslint-config/src/nestjs/rules.ts b/packages/eslint-config/src/nestjs/rules.ts deleted file mode 100644 index 19002970..00000000 --- a/packages/eslint-config/src/nestjs/rules.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { Linter } from 'eslint'; - -export const rules: Linter.RulesRecord = { - 'class-methods-use-this': 'off', // Allow class methods that don't use `this` keyword - 'no-empty-function': ['error', { allow: ['constructors'] }], // Allow empty constructors for Nest classes - 'unicorn/prefer-module': 'off', // Allow CommonJS as Nest doesn't support ES modules yet - 'unicorn/prefer-top-level-await': 'off', // Irrelevant as top-level await needs ESM support (see above) - '@typescript-eslint/consistent-type-imports': 'off', // Allow types being imported without `type` keyword as Nest.js services and models are ambiguous - '@typescript-eslint/no-extraneous-class': [ - // Allow classes that are used as Nest decorators - 'error', - { allowWithDecorator: true }, - ], -}; diff --git a/packages/eslint-config/src/nextjs.ts b/packages/eslint-config/src/nextjs.ts deleted file mode 100644 index 5b745d86..00000000 --- a/packages/eslint-config/src/nextjs.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -import { config } from './nextjs/config'; - -export = { - ...config, - extends: [require.resolve('./react'), ...config.extends], -} satisfies Linter.Config; diff --git a/packages/eslint-config/src/nextjs/config.ts b/packages/eslint-config/src/nextjs/config.ts index 7b53bcf2..2d3d8fdd 100644 --- a/packages/eslint-config/src/nextjs/config.ts +++ b/packages/eslint-config/src/nextjs/config.ts @@ -1,9 +1,54 @@ -import type { Linter } from 'eslint'; +import { FlatCompat } from '@eslint/eslintrc'; -import { overrides } from './overrides'; +const compat = new FlatCompat({ + baseDirectory: process.cwd(), +}); -export const config = { +export const config = compat.config({ extends: ['plugin:@next/next/recommended'], plugins: ['@next/next'], - overrides, -} satisfies Linter.Config; + settings: { + next: { + rootDir: process.cwd(), + }, + }, + overrides: [ + { + files: ['next-env.d.ts'], + rules: { + 'unicorn/prevent-abbreviations': 'off', // next-env.d.ts is a Next.js convention + }, + }, + { + files: ['src/app/**/*.ts', 'app/**/*.tsx', 'src/pages/**/*.ts', 'src/pages/**/*.tsx'], + rules: { + 'react/function-component-definition': [ + // Allow components as function declarations in Next.js App and Page components for shorthand default exports + 'error', + { + namedComponents: ['arrow-function', 'function-declaration'], + unnamedComponents: 'function-expression', + }, + ], + }, + }, + { + files: ['src/app/**/layout.tsx', 'src/**/layouts/**/*.tsx'], + rules: { + '@next/next/no-head-element': 'off', // Allow element in Next.js App layouts + }, + }, + { + files: ['src/**/layouts/**/*.tsx', 'src/pages/_app.tsx', 'src/pages/_document.tsx'], + rules: { + 'react/jsx-props-no-spreading': 'off', // Allow spreading props in Next.js App layouts, _app.tsx and _document.tsx + }, + }, + { + files: ['src/**/actions.ts'], + rules: { + '@typescript-eslint/require-await': 'off', // Next.js Server Actions must be async but don't need to await + }, + }, + ], +}); diff --git a/packages/eslint-config/src/nextjs/overrides.ts b/packages/eslint-config/src/nextjs/overrides.ts deleted file mode 100644 index 33ed3fa4..00000000 --- a/packages/eslint-config/src/nextjs/overrides.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { Linter } from 'eslint'; - -export const overrides = [ - { - files: 'next-env.d.ts', - rules: { - 'unicorn/prevent-abbreviations': 'off', // next-env.d.ts is a Next.js convention - }, - }, - { - files: ['src/app/**/*.ts', 'src/app/**/*.tsx', 'src/pages/**/*.ts', 'src/pages/**/*.tsx'], - rules: { - 'react/function-component-definition': [ - // Allow components as function declarations in Next.js App and Page components for shorthand default exports - 'error', - { - namedComponents: ['arrow-function', 'function-declaration'], - unnamedComponents: 'function-expression', - }, - ], - }, - }, - { - files: ['src/app/**/layout.tsx', 'src/**/layouts/**/*.tsx'], - rules: { - '@next/next/no-head-element': 'off', // Allow element in Next.js App layouts - }, - }, - { - files: ['src/**/layouts/**/*.tsx', 'src/pages/_app.tsx', 'src/pages/_document.tsx'], - rules: { - 'react/jsx-props-no-spreading': 'off', // Allow spreading props in Next.js App layouts, _app.tsx and _document.tsx - }, - }, - { - files: 'src/**/actions.ts', - rules: { - '@typescript-eslint/require-await': 'off', // Next.js Server Actions must be async but don't need to await - }, - }, -] satisfies Linter.ConfigOverride[]; diff --git a/packages/eslint-config/src/react.ts b/packages/eslint-config/src/react.ts deleted file mode 100644 index 0aaa3c33..00000000 --- a/packages/eslint-config/src/react.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -import { config } from './react/config'; - -export = { - ...config, - extends: ['airbnb', require.resolve('./base'), ...config.extends], -} satisfies Linter.Config; diff --git a/packages/eslint-config/src/react/config.ts b/packages/eslint-config/src/react/config.ts index 3888dfb7..64d74a20 100644 --- a/packages/eslint-config/src/react/config.ts +++ b/packages/eslint-config/src/react/config.ts @@ -1,22 +1,69 @@ +import vitest from '@vitest/eslint-plugin'; import type { Linter } from 'eslint'; +import formatjs from 'eslint-plugin-formatjs'; +import jestDom from 'eslint-plugin-jest-dom'; +import mdx from 'eslint-plugin-mdx'; +import react from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import globals from 'globals'; -import { importExtensions } from '../constants'; +import * as baseRules from '../base/rules/index.js'; -import { overrides } from './overrides'; -import { rules } from './rules'; +import * as rules from './rules/index.js'; -export const config = { - env: { browser: true }, - extends: ['plugin:react-hooks/recommended', 'plugin:react/jsx-runtime', 'plugin:storybook/recommended'], - plugins: ['formatjs', 'react', 'react-hooks', 'storybook'], - parserOptions: { - ecmaFeatures: { jsx: true }, - jsxPragma: null, +export const config = [ + { + files: ['**/*.tsx'], + plugins: { + formatjs, + react, + 'react-hooks': reactHooks, + }, + languageOptions: { + parserOptions: { + ecmaFeatures: { jsx: true }, + }, + globals: globals.browser, + }, + rules: { + ...baseRules.typescript, + ...react.configs.flat.recommended.rules, + ...react.configs.flat['jsx-runtime'].rules, + ...rules.common, + ...rules.formatjs, + ...rules.hooks, + ...rules.jsx, + }, + settings: { + react: { version: 'detect' }, + }, }, - rules, - overrides, - settings: { - 'import/extensions': [...importExtensions, '.tsx'], - react: { version: 'detect' }, + { + files: ['**/styles.ts', '**/styles.tsx', '**/*.styles.ts', '**/*.styles.tsx', '**/styles/*.ts', '**/styles/*.tsx'], + rules: rules.styles, }, -} satisfies Linter.Config; + { + files: ['**/tests/**/*.tsx', '**/*.spec.tsx', '**/*.test.tsx'], + ...jestDom.configs['flat/recommended'], + }, + { + files: [ + '**/mock/**/*.tsx', + '**/mocks/**/*.tsx', + '**/stories/**/*.tsx', + '**/tests/**/*.tsx', + '**/*.spec.tsx', + '**/*.stories.tsx', + '**/*.test.tsx', + ], + plugins: { + vitest, + }, + rules: rules.tests, + }, + { + files: ['**/*.mdx'], + rules: { ...mdx.configs.flat.rules, ...mdx.configs.flatCodeBlocks.rules, ...rules.mdx }, + processor: mdx.createRemarkProcessor({ lintCodeBlocks: true }), + }, +] satisfies Linter.Config[]; diff --git a/packages/eslint-config/src/react/overrides/index.ts b/packages/eslint-config/src/react/overrides/index.ts deleted file mode 100644 index a9504780..00000000 --- a/packages/eslint-config/src/react/overrides/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { mdx } from './mdx'; -import { styles } from './styles'; -import { tests } from './tests'; -import { typescript } from './typescript'; - -// WARNING: The order of these overrides matters. The most specific overrides should be last. -export const overrides = [...typescript, styles, mdx, ...tests]; diff --git a/packages/eslint-config/src/react/overrides/mdx.ts b/packages/eslint-config/src/react/overrides/mdx.ts deleted file mode 100644 index 5b833567..00000000 --- a/packages/eslint-config/src/react/overrides/mdx.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Linter } from 'eslint'; - -export const mdx: Linter.ConfigOverride = { - files: '*.mdx', - extends: ['plugin:mdx/recommended'], - rules: { - 'react/jsx-filename-extension': 'off', // Allow .mdx files to contain JSX - 'react/jsx-sort-props': 'off', // Props sorting with MDX parser does not work as expected (props are sorted but values are not) - 'react/self-closing-comp': 'off', // MDX parser wrongly converts some non-void elements to self-closing and removes their children - }, -}; diff --git a/packages/eslint-config/src/react/overrides/styles.ts b/packages/eslint-config/src/react/overrides/styles.ts deleted file mode 100644 index cb49c524..00000000 --- a/packages/eslint-config/src/react/overrides/styles.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -export const styles = { - files: ['styles.ts', 'styles.tsx', '*.styles.ts', '*.styles.tsx', '**/styles/*.ts', '**/styles/*.tsx'], - rules: { - 'no-magic-numbers': 'off', // Allow magic numbers in styles (e.g. z-index, spacing, etc.) - }, -} satisfies Linter.ConfigOverride; diff --git a/packages/eslint-config/src/react/overrides/tests.ts b/packages/eslint-config/src/react/overrides/tests.ts deleted file mode 100644 index 3c812ea0..00000000 --- a/packages/eslint-config/src/react/overrides/tests.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { Linter } from 'eslint'; - -import { tests as base } from '../../base/overrides/tests'; - -export const tests: Linter.ConfigOverride[] = [ - { ...base, files: [...base.files, '*.spec.tsx', '*.test.tsx'] }, - { - files: ['**/tests/**/*.tsx, *.spec.tsx', '*.test.tsx'], - extends: ['plugin:jest-dom/recommended', 'plugin:testing-library/react'], - rules: base.rules, - }, - { - files: ['**/stories/**/*.tsx', '**/tests/**/*.tsx', '*.spec.tsx', '*.stories.tsx', '*.test.tsx'], - rules: { - ...base.rules, // Use same base rules in stories and tests - 'formatjs/no-literal-string-in-jsx': 'off', // Allow literal strings in JSX in stories and tests - 'react/jsx-props-no-spreading': 'off', // Allow spreading props in stories and tests - }, - }, -]; diff --git a/packages/eslint-config/src/react/overrides/typescript.ts b/packages/eslint-config/src/react/overrides/typescript.ts deleted file mode 100644 index 443a8407..00000000 --- a/packages/eslint-config/src/react/overrides/typescript.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { Linter } from 'eslint'; - -import { typescript as base } from '../../base/overrides/typescript'; - -const [ts, dts] = base; - -export const typescript = [ - { - ...ts, - files: [ts.files, '*.tsx'], - }, - dts, -] satisfies Linter.ConfigOverride[]; diff --git a/packages/eslint-config/src/react/rules/imports.ts b/packages/eslint-config/src/react/rules/imports.ts deleted file mode 100644 index ef8e3ed1..00000000 --- a/packages/eslint-config/src/react/rules/imports.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -import { getExtraneousDependenciesRule, getImportExtensionsRule } from '../../utils'; - -export const imports: Linter.RulesRecord = { - ...getImportExtensionsRule('.tsx'), // Avoid unnecessary `.tsx` extensions in imports - ...getExtraneousDependenciesRule('**/mock/**/*', '**/mocks/**/*', '**/stories/**/*'), // Allow importing devDependencies in Storybook stories -}; diff --git a/packages/eslint-config/src/react/rules/index.ts b/packages/eslint-config/src/react/rules/index.ts index 60a8fbc4..4bcdaa3a 100644 --- a/packages/eslint-config/src/react/rules/index.ts +++ b/packages/eslint-config/src/react/rules/index.ts @@ -1,13 +1,7 @@ -import { common } from './common'; -import { formatjs } from './formatjs'; -import { hooks } from './hooks'; -import { imports } from './imports'; -import { jsx } from './jsx'; - -export const rules = { - ...common, - ...formatjs, - ...hooks, - ...imports, - ...jsx, -}; +export * from './common.js'; +export * from './formatjs.js'; +export * from './hooks.js'; +export * from './mdx.js'; +export * from './jsx.js'; +export * from './styles.js'; +export * from './tests.js'; diff --git a/packages/eslint-config/src/react/rules/mdx.ts b/packages/eslint-config/src/react/rules/mdx.ts new file mode 100644 index 00000000..154a7ff2 --- /dev/null +++ b/packages/eslint-config/src/react/rules/mdx.ts @@ -0,0 +1,7 @@ +import type { Linter } from 'eslint'; + +export const mdx: Linter.RulesRecord = { + 'react/jsx-filename-extension': 'off', // Allow .mdx files to contain JSX + 'react/jsx-sort-props': 'off', // Props sorting with MDX parser does not work as expected (props are sorted but values are not) + 'react/self-closing-comp': 'off', // MDX parser wrongly converts some non-void elements to self-closing and removes their children +}; diff --git a/packages/eslint-config/src/react/rules/styles.ts b/packages/eslint-config/src/react/rules/styles.ts new file mode 100644 index 00000000..34130b76 --- /dev/null +++ b/packages/eslint-config/src/react/rules/styles.ts @@ -0,0 +1,5 @@ +import type { Linter } from 'eslint'; + +export const styles: Linter.RulesRecord = { + 'no-magic-numbers': 'off', // Allow magic numbers in styles (e.g. z-index, spacing, etc.) +}; diff --git a/packages/eslint-config/src/react/rules/tests.ts b/packages/eslint-config/src/react/rules/tests.ts new file mode 100644 index 00000000..f7c2f51d --- /dev/null +++ b/packages/eslint-config/src/react/rules/tests.ts @@ -0,0 +1,6 @@ +import type { Linter } from 'eslint'; + +export const tests: Linter.RulesRecord = { + 'formatjs/no-literal-string-in-jsx': 'off', // Allow literal strings in JSX in stories and tests + 'react/jsx-props-no-spreading': 'off', // Allow spreading props in stories and tests +}; diff --git a/packages/eslint-config/src/storybook.ts b/packages/eslint-config/src/storybook.ts deleted file mode 100644 index f3b89907..00000000 --- a/packages/eslint-config/src/storybook.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Linter } from 'eslint'; - -import { config } from './storybook/config'; - -export = { - ...config, - extends: [require.resolve('./react')], -} satisfies Linter.Config; diff --git a/packages/eslint-config/src/storybook/config.ts b/packages/eslint-config/src/storybook/config.ts index 7c59fc65..f51c5664 100644 --- a/packages/eslint-config/src/storybook/config.ts +++ b/packages/eslint-config/src/storybook/config.ts @@ -1,7 +1,13 @@ import type { Linter } from 'eslint'; +import storybook from 'eslint-plugin-storybook'; -import { rules } from './rules'; - -export const config = { - rules, -} satisfies Linter.Config; +export const config = [ + ...storybook.configs['flat/recommended'], + { + files: ['**/.storybook/**/*', '**/storybook/**/*'], + rules: { + 'react/jsx-props-no-spreading': 'off', + 'unicorn/prefer-module': 'off', + }, + } satisfies Linter.Config, +]; diff --git a/packages/eslint-config/src/storybook/rules.ts b/packages/eslint-config/src/storybook/rules.ts deleted file mode 100644 index f2d5b736..00000000 --- a/packages/eslint-config/src/storybook/rules.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Linter } from 'eslint'; - -import { getExtraneousDependenciesRule } from '../utils'; - -export const rules: Linter.RulesRecord = { - ...getExtraneousDependenciesRule('**/config/**/*'), - 'react/jsx-props-no-spreading': 'off', - 'unicorn/prefer-module': 'off', -}; diff --git a/packages/eslint-config/src/utils.ts b/packages/eslint-config/src/utils.ts index 1aae3263..84f01cd5 100644 --- a/packages/eslint-config/src/utils.ts +++ b/packages/eslint-config/src/utils.ts @@ -1,28 +1,10 @@ -import type { Linter } from 'eslint'; - -import { extraneousDependenciesPatterns, importExtensions } from './constants'; - -const getImportExtensionsRecord = (extensions: string[]) => { +/** + * Get a record of import extensions for the `import/extensions` rule. + */ +export function getImportExtensionsRecord(extensions: string[] | readonly string[]) { const record: Record = {}; for (const extension of extensions) { record[extension.replace('.', '')] = 'never'; } return record; -}; - -export const getExtraneousDependenciesRule = (...patterns: string[]): Linter.RulesRecord => ({ - 'import/no-extraneous-dependencies': [ - // Avoid importing devDependencies in production code - 'error', - { devDependencies: [...extraneousDependenciesPatterns, ...patterns] }, - ], -}); - -export const getImportExtensionsRule = (...extensions: string[]): Linter.RulesRecord => ({ - 'import/extensions': [ - // Avoid unnecessary file extensions in imports - 'error', - 'ignorePackages', - getImportExtensionsRecord([...importExtensions, ...extensions]), - ], -}); +} diff --git a/packages/eslint-config/storybook.js b/packages/eslint-config/storybook.js deleted file mode 100644 index a0efbfc1..00000000 --- a/packages/eslint-config/storybook.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/storybook'); diff --git a/packages/eslint-config/tsconfig.json b/packages/eslint-config/tsconfig.json index 65d93254..0216ef19 100644 --- a/packages/eslint-config/tsconfig.json +++ b/packages/eslint-config/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "compilerOptions": { "module": "CommonJS", "moduleResolution": "node" }, - "include": [".eslintrc.js", "index.d.ts", "./*.js", "src/**/*"], + "include": ["**/*.js", "**/*.ts"], "exclude": ["dist", "node_modules"], "references": [] } diff --git a/packages/prettier-config/.eslintrc.cjs b/packages/prettier-config/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/packages/prettier-config/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 50466a3c..8ae009d1 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -26,13 +26,13 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext cjs,js,ts .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "ts": "tsc --build tsconfig.json" }, "dependencies": { - "prettier-plugin-packagejson": "^2.5.6" + "prettier-plugin-packagejson": "^2.5.8" }, "devDependencies": { "prettier": "^3.4.2", diff --git a/packages/prettier-config/tsconfig.json b/packages/prettier-config/tsconfig.json index 72887f77..1d148c4c 100644 --- a/packages/prettier-config/tsconfig.json +++ b/packages/prettier-config/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "src/**/*"], + "include": ["./*.js", "src/**/*"], "exclude": ["dist", "node_modules"], "references": [] } diff --git a/packages/testing-library/.eslintrc.cjs b/packages/testing-library/.eslintrc.cjs deleted file mode 100644 index 6b19e92d..00000000 --- a/packages/testing-library/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz/eslint-config/react', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/testing-library/lint-staged.config.js b/packages/testing-library/lint-staged.config.js index d8aabc41..668ce89f 100644 --- a/packages/testing-library/lint-staged.config.js +++ b/packages/testing-library/lint-staged.config.js @@ -1,8 +1,5 @@ export default { './**/*.{cjs,js}': 'eslint --cache --fix', './**/*.{json,md}': 'prettier --write', - './**/*.{ts,tsx}': [ - () => 'tsc --build tsconfig.json', - 'eslint --cache --fix', - ], + './**/*.{ts,tsx}': [() => 'tsc --build tsconfig.json', 'eslint --cache --fix'], }; diff --git a/packages/testing-library/package.json b/packages/testing-library/package.json index d7a7aa2b..9774bee5 100644 --- a/packages/testing-library/package.json +++ b/packages/testing-library/package.json @@ -34,7 +34,7 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext cjs,ts,tsx .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "test": "vitest --run", @@ -44,23 +44,23 @@ "dependencies": { "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", - "@testing-library/user-event": "^14.5.1", + "@testing-library/user-event": "^14.5.2", "jsdom": "^26.0.0" }, "devDependencies": { "@apitree.cz/vitest-config": "workspace:*", - "@testing-library/react": "^16.1.0", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@vitest/coverage-v8": "^2.1.8", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "vitest": "^2.1.8" + "@testing-library/react": "^16.2.0", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitest/coverage-v8": "^3.0.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vitest": "^3.0.4" }, "peerDependencies": { - "@testing-library/react": "^16.1.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "vitest": "^2.1.8" + "@testing-library/react": "^16.2.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vitest": "^3.0.4" } } diff --git a/packages/testing-library/src/setup.ts b/packages/testing-library/src/setup.ts index 14439524..0d74b735 100644 --- a/packages/testing-library/src/setup.ts +++ b/packages/testing-library/src/setup.ts @@ -2,4 +2,6 @@ import '@testing-library/jest-dom/vitest'; import { cleanup } from '@testing-library/react'; import { afterEach } from 'vitest'; -afterEach(() => cleanup()); +afterEach(() => { + cleanup(); +}); diff --git a/packages/testing-library/tsconfig.json b/packages/testing-library/tsconfig.json index a95727ae..aea3bd9e 100644 --- a/packages/testing-library/tsconfig.json +++ b/packages/testing-library/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "**/*.ts", "**/*.tsx"], + "include": ["./*.js", "**/*.ts", "**/*.tsx"], "exclude": ["dist", "node_modules"], "references": [{ "path": "../vitest-config/tsconfig.build.json" }] } diff --git a/packages/ts-config/.eslintrc.cjs b/packages/ts-config/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/packages/ts-config/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/ts-config/README.md b/packages/ts-config/README.md index 275e8b16..e17e5522 100644 --- a/packages/ts-config/README.md +++ b/packages/ts-config/README.md @@ -27,7 +27,7 @@ Suitable for general TypeScript projects. ```json { "extends": "@apitree.cz/ts-config", - "include": [".eslintrc.cjs", "**/*.js", "**/*.ts"], + "include": ["**/*.js", "**/*.ts"], "exclude": ["build", "node_modules"] } ``` @@ -35,28 +35,26 @@ Suitable for general TypeScript projects. > **Note:** This configuration can be also used in monorepo root, however, be sure to change `include` array to only > check the root files and not nested workspaces as each should have its own `tsconfig.json`. -### Library +### Node -Suitable for distributable `npm` packages (both Node.js and React). +Suitable for Node.js services and apps. ```json { - "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "**/*.js", "**/*.ts"], - "exclude": ["dist", "node_modules"] + "extends": "@apitree.cz/ts-config/node", + "include": ["**/*.js", "**/*.ts"], + "exclude": ["build", "node_modules"] } ``` -> **Note:** If you are using React, you should also add `"**/*.tsx"` to the `include` array. - -### CommonJS library +### Library -Suitable for distributable `npm` packages (Node.js only). +Suitable for distributable `npm` packages (both Node.js and React). ```json { - "extends": "@apitree.cz/ts-config/cjs-library", - "include": [".eslintrc.cjs", "**/*.js", "**/*.ts"], + "extends": "@apitree.cz/ts-config/library", + "include": ["**/*.js", "**/*.ts", "**/*.tsx"], "exclude": ["dist", "node_modules"] } ``` @@ -68,7 +66,7 @@ Suitable for SPAs (React). ```json { "extends": "@apitree.cz/ts-config/app", - "include": [".eslintrc.cjs", "**/*.js", "**/*.ts", "**/*.tsx"], + "include": ["**/*.js", "**/*.ts", "**/*.tsx"], "exclude": ["build", "node_modules"] } ``` @@ -80,7 +78,7 @@ Suitable for Next.js apps. ```json { "extends": "@apitree.cz/ts-config/next", - "include": [".eslintrc.cjs", "next-env.d.ts", "**/*.js", "**/*.ts", "**/*.tsx"], + "include": ["next-env.d.ts", "**/*.js", "**/*.ts", "**/*.tsx"], "exclude": [".next", "node_modules"] } ``` @@ -92,19 +90,7 @@ Suitable for Nest.js apps. ```json { "extends": "@apitree.cz/ts-config/nestjs", - "include": [".eslintrc.js", "**/*.js", "**/*.ts"], + "include": ["**/*.js", "**/*.ts"], "exclude": ["build", "node_modules"] } ``` - -### Nest.js Library - -Suitable for distributable `npm` packages consumed by Nest.js apps. - -```json -{ - "extends": "@apitree.cz/ts-config/nestjs-library", - "include": [".eslintrc.js", "**/*.js", "**/*.ts"], - "exclude": ["dist", "node_modules"] -} -``` diff --git a/packages/ts-config/cjs-library.json b/packages/ts-config/cjs-library.json deleted file mode 100644 index af97d8a1..00000000 --- a/packages/ts-config/cjs-library.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "./library.json", - "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node" - } -} diff --git a/packages/ts-config/nestjs-library.json b/packages/ts-config/nestjs-library.json deleted file mode 100644 index 2d8b02da..00000000 --- a/packages/ts-config/nestjs-library.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "./cjs-library.json", - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true - } -} diff --git a/packages/ts-config/nestjs.json b/packages/ts-config/nestjs.json index d86caf82..f705b7cd 100644 --- a/packages/ts-config/nestjs.json +++ b/packages/ts-config/nestjs.json @@ -3,7 +3,7 @@ "compilerOptions": { "emitDecoratorMetadata": true, "experimentalDecorators": true, - "module": "commonjs", - "moduleResolution": "node" + "module": "nodenext", + "moduleResolution": "nodenext" } } diff --git a/packages/ts-config/nextjs.json b/packages/ts-config/nextjs.json index 5d938df7..f29626b4 100644 --- a/packages/ts-config/nextjs.json +++ b/packages/ts-config/nextjs.json @@ -2,6 +2,7 @@ "$schema": "https://json.schemastore.org/tsconfig", "extends": "./app.json", "compilerOptions": { - "target": "es2017" + "target": "es2017", + "plugins": [{ "name": "next" }] } } diff --git a/packages/ts-config/node.json b/packages/ts-config/node.json new file mode 100644 index 00000000..0061e926 --- /dev/null +++ b/packages/ts-config/node.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "checkJs": true, + "jsx": "react-jsx" + } +} diff --git a/packages/ts-config/package.json b/packages/ts-config/package.json index 588e295e..cb601505 100644 --- a/packages/ts-config/package.json +++ b/packages/ts-config/package.json @@ -12,21 +12,18 @@ "exports": { ".": "./base.json", "./app": "./app.json", - "./cjs-library": "./cjs-library.json", "./library": "./library.json", "./nestjs": "./nestjs.json", - "./nestjs-library": "./nestjs-library.json", - "./nextjs": "./nextjs.json" + "./nextjs": "./nextjs.json", + "./node": "./node.json" }, - "main": "base.json", "files": [ "app.json", "base.json", - "cjs-library.json", "library.json", "nestjs.json", - "nestjs-library.json", - "nextjs.json" + "nextjs.json", + "node.json" ], "scripts": { "cleanup": "del .eslintcache .turbo node_modules", @@ -35,7 +32,7 @@ "format:fix": "pnpm run format --write", "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", - "qa": "pnpm run format lint" + "qa": "run-p format lint" }, "devDependencies": { "typescript": "^5.7.3" diff --git a/packages/ts-config/tsconfig.json b/packages/ts-config/tsconfig.json index cad3f864..eab3d0f7 100644 --- a/packages/ts-config/tsconfig.json +++ b/packages/ts-config/tsconfig.json @@ -1 +1 @@ -{ "extends": "./base", "files": [".eslintrc.cjs", "lint-staged.config.js"], "references": [] } +{ "extends": "./base", "files": ["lint-staged.config.js"], "references": [] } diff --git a/packages/ts-utils/.eslintrc.cjs b/packages/ts-utils/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/packages/ts-utils/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/ts-utils/package.json b/packages/ts-utils/package.json index 7b684764..cc1aa77f 100644 --- a/packages/ts-utils/package.json +++ b/packages/ts-utils/package.json @@ -29,7 +29,7 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext cjs,js,ts .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "ts": "tsc --build tsconfig.json" diff --git a/packages/ts-utils/src/is-nil.ts b/packages/ts-utils/src/is-nil.ts index af89af9c..02cea5d7 100644 --- a/packages/ts-utils/src/is-nil.ts +++ b/packages/ts-utils/src/is-nil.ts @@ -1,4 +1,4 @@ /** * Checks if value IS `null` or `undefined`. Works as a type guard. */ -export const isNil = (value: T | null | undefined): value is null | undefined => value == null; +export const isNil = (value: unknown): value is null | undefined => value == null; diff --git a/packages/ts-utils/tsconfig.json b/packages/ts-utils/tsconfig.json index ecfa37a0..c7166bfc 100644 --- a/packages/ts-utils/tsconfig.json +++ b/packages/ts-utils/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "src/**/*"], + "include": ["./*.js", "src/**/*"], "exclude": ["dist", "node_modules"], "references": [{ "path": "../typedoc-config/tsconfig.build.json" }] } diff --git a/packages/typedoc-config/.eslintrc.cjs b/packages/typedoc-config/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/packages/typedoc-config/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/typedoc-config/package.json b/packages/typedoc-config/package.json index b6a7602d..e8c0cf83 100644 --- a/packages/typedoc-config/package.json +++ b/packages/typedoc-config/package.json @@ -26,7 +26,7 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext cjs,js,ts .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "ts": "tsc --build tsconfig.json" diff --git a/packages/typedoc-config/tsconfig.json b/packages/typedoc-config/tsconfig.json index 72887f77..1d148c4c 100644 --- a/packages/typedoc-config/tsconfig.json +++ b/packages/typedoc-config/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "src/**/*"], + "include": ["./*.js", "src/**/*"], "exclude": ["dist", "node_modules"], "references": [] } diff --git a/packages/vitest-config/.eslintrc.cjs b/packages/vitest-config/.eslintrc.cjs deleted file mode 100644 index 47a87953..00000000 --- a/packages/vitest-config/.eslintrc.cjs +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: '@apitree.cz', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, -}; diff --git a/packages/vitest-config/package.json b/packages/vitest-config/package.json index 2d84d0d0..a15ce480 100644 --- a/packages/vitest-config/package.json +++ b/packages/vitest-config/package.json @@ -42,26 +42,26 @@ "fix": "run-p ts format:fix lint:fix", "format": "prettier --check \"./**/*.{json,md}\"", "format:fix": "pnpm run format --write", - "lint": "eslint --cache --ext cjs,js,ts .", + "lint": "eslint --cache .", "lint:fix": "pnpm run lint --fix", "qa": "run-p ts format lint", "ts": "tsc --build tsconfig.json" }, "dependencies": { - "@swc/core": "^1.10.7", + "@swc/core": "^1.10.11", "@vitejs/plugin-react": "^4.3.4", "unplugin-swc": "^1.5.1", - "vite": "^5.4.11" + "vite": "^6.0.11" }, "devDependencies": { - "@vitest/coverage-v8": "^2.1.8", + "@vitest/coverage-v8": "^3.0.4", "jsdom": "^26.0.0", - "vitest": "^2.1.8" + "vitest": "^3.0.4" }, "peerDependencies": { - "@vitest/coverage-v8": "^2.1.8", + "@vitest/coverage-v8": "^3.0.4", "jsdom": "^26.0.0", - "vitest": "^2.1.8" + "vitest": "^3.0.4" }, "peerDependenciesMeta": { "jsdom": { diff --git a/packages/vitest-config/tsconfig.json b/packages/vitest-config/tsconfig.json index 72887f77..1d148c4c 100644 --- a/packages/vitest-config/tsconfig.json +++ b/packages/vitest-config/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "@apitree.cz/ts-config/library", - "include": [".eslintrc.cjs", "./*.js", "src/**/*"], + "include": ["./*.js", "src/**/*"], "exclude": ["dist", "node_modules"], "references": [] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47877cff..73b801b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,10 +22,10 @@ importers: version: link:packages/ts-config '@changesets/cli': specifier: ^2.27.11 - version: 2.27.11 + version: 2.27.12 '@commitlint/cli': specifier: ^19.6.1 - version: 19.6.1(@types/node@22.10.5)(typescript@5.7.3) + version: 19.6.1(@types/node@22.12.0)(typescript@5.7.3) '@commitlint/config-conventional': specifier: ^19.6.0 version: 19.6.0 @@ -33,14 +33,14 @@ importers: specifier: 0.23.0 version: 0.23.0 '@types/node': - specifier: ^22.10.5 - version: 22.10.5 + specifier: ^22.12.0 + version: 22.12.0 del-cli: specifier: ^6.0.0 version: 6.0.0 eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.19.0 + version: 9.19.0(jiti@2.4.2) husky: specifier: ^9.1.7 version: 9.1.7 @@ -49,7 +49,7 @@ importers: version: 4.1.0 lint-staged: specifier: ^15.3.0 - version: 15.3.0 + version: 15.4.3 npm-run-all2: specifier: ^7.0.2 version: 7.0.2 @@ -57,8 +57,8 @@ importers: specifier: ^3.4.2 version: 3.4.2 turbo: - specifier: ^2.3.3 - version: 2.3.3 + specifier: ^2.3.4 + version: 2.3.4 typescript: specifier: ^5.7.3 version: 5.7.3 @@ -70,13 +70,13 @@ importers: version: link:../ts-utils '@commander-js/extra-typings': specifier: ^13.0.0 - version: 13.0.0(commander@13.0.0) + version: 13.1.0(commander@13.1.0) '@manypkg/get-packages': specifier: ^2.2.2 version: 2.2.2 commander: specifier: ^13.0.0 - version: 13.0.0 + version: 13.1.0 deepmerge: specifier: ^4.3.1 version: 4.3.1 @@ -102,82 +102,94 @@ importers: packages/eslint-config: dependencies: + '@eslint/eslintrc': + specifier: ^3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: ^9.19.0 + version: 9.19.0 '@next/eslint-plugin-next': - specifier: ^15.1.4 - version: 15.1.4 + specifier: ^15.1.6 + version: 15.1.6 '@types/eslint': - specifier: ^8.56.11 - version: 8.56.12 - '@typescript-eslint/eslint-plugin': - specifier: ^8.19.1 - version: 8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) + specifier: ^9.6.1 + version: 9.6.1 '@typescript-eslint/parser': - specifier: ^8.19.1 - version: 8.19.1(eslint@8.57.1)(typescript@5.7.3) - eslint-config-airbnb: - specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.3(eslint@8.57.1))(eslint@8.57.1) + specifier: ^8.22.0 + version: 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@vitest/eslint-plugin': + specifier: ^1.1.25 + version: 1.1.25(@typescript-eslint/utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0)) eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) + specifier: ^10.0.1 + version: 10.0.1(eslint@9.19.0(jiti@2.4.2)) eslint-config-turbo: - specifier: ^2.3.3 - version: 2.3.3(eslint@8.57.1) + specifier: ^2.3.4 + version: 2.3.4(eslint@9.19.0(jiti@2.4.2))(turbo@2.3.4) eslint-import-resolver-typescript: specifier: ^3.7.0 - version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-formatjs: - specifier: 4.13.3 - version: 4.13.3(eslint@8.57.1) + specifier: ^5.2.13 + version: 5.2.13(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-jest-dom: specifier: ^5.5.0 - version: 5.5.0(@testing-library/dom@10.4.0)(eslint@8.57.1) + version: 5.5.0(@testing-library/dom@10.4.0)(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 - version: 6.10.2(eslint@8.57.1) + version: 6.10.2(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-mdx: specifier: ^3.1.5 - version: 3.1.5(eslint@8.57.1) + version: 3.1.5(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-prettier: - specifier: ^5.2.1 - version: 5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2) + specifier: ^5.2.3 + version: 5.2.3(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2))(prettier@3.4.2) eslint-plugin-react: - specifier: ^7.37.3 - version: 7.37.3(eslint@8.57.1) + specifier: ^7.37.4 + version: 7.37.4(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-react-hooks: - specifier: ^4.6.2 - version: 4.6.2(eslint@8.57.1) + specifier: ^5.1.0 + version: 5.1.0(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-storybook: specifier: ^0.11.2 - version: 0.11.2(eslint@8.57.1)(typescript@5.7.3) + version: 0.11.2(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) eslint-plugin-testing-library: specifier: ^7.1.1 - version: 7.1.1(eslint@8.57.1)(typescript@5.7.3) + version: 7.1.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint-plugin-turbo: + specifier: ^2.3.4 + version: 2.3.4(eslint@9.19.0(jiti@2.4.2))(turbo@2.3.4) eslint-plugin-unicorn: specifier: ^56.0.1 - version: 56.0.1(eslint@8.57.1) + version: 56.0.1(eslint@9.19.0(jiti@2.4.2)) eslint-plugin-unused-imports: specifier: ^4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1) - eslint-plugin-vitest: - specifier: ^0.5.4 - version: 0.5.4(@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)(vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)) + globals: + specifier: ^15.14.0 + version: 15.14.0 + typescript-eslint: + specifier: ^8.22.0 + version: 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) vitest: - specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.5)(jsdom@26.0.0) + specifier: ^3.0.4 + version: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0) devDependencies: + '@types/eslint__eslintrc': + specifier: ^2.1.2 + version: 2.1.2 eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.19.0 + version: 9.19.0(jiti@2.4.2) prettier: specifier: ^3.4.2 version: 3.4.2 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 typescript: specifier: ^5.7.3 version: 5.7.3 @@ -185,8 +197,8 @@ importers: packages/prettier-config: dependencies: prettier-plugin-packagejson: - specifier: ^2.5.6 - version: 2.5.6(prettier@3.4.2) + specifier: ^2.5.8 + version: 2.5.8(prettier@3.4.2) devDependencies: prettier: specifier: ^3.4.2 @@ -204,8 +216,8 @@ importers: specifier: ^6.6.3 version: 6.6.3 '@testing-library/user-event': - specifier: ^14.5.1 - version: 14.5.2(@testing-library/dom@10.4.0) + specifier: ^14.5.2 + version: 14.6.1(@testing-library/dom@10.4.0) jsdom: specifier: ^26.0.0 version: 26.0.0 @@ -214,26 +226,26 @@ importers: specifier: workspace:* version: link:../vitest-config '@testing-library/react': - specifier: ^16.1.0 - version: 16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^16.2.0 + version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/react': - specifier: ^18.3.3 - version: 18.3.18 + specifier: ^19.0.8 + version: 19.0.8 '@types/react-dom': - specifier: ^18.3.0 - version: 18.3.5(@types/react@18.3.18) + specifier: ^19.0.3 + version: 19.0.3(@types/react@19.0.8) '@vitest/coverage-v8': - specifier: ^2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0)) + specifier: ^3.0.4 + version: 3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0)) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) vitest: - specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.5)(jsdom@26.0.0) + specifier: ^3.0.4 + version: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0) packages/ts-config: devDependencies: @@ -269,27 +281,27 @@ importers: packages/vitest-config: dependencies: '@swc/core': - specifier: ^1.10.7 - version: 1.10.7 + specifier: ^1.10.11 + version: 1.10.11 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.11(@types/node@22.10.5)) + version: 4.3.4(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0)) unplugin-swc: specifier: ^1.5.1 - version: 1.5.1(@swc/core@1.10.7)(rollup@4.30.1) + version: 1.5.1(@swc/core@1.10.11)(rollup@4.32.0) vite: - specifier: ^5.4.11 - version: 5.4.11(@types/node@22.10.5) + specifier: ^6.0.11 + version: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) devDependencies: '@vitest/coverage-v8': - specifier: ^2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0)) + specifier: ^3.0.4 + version: 3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0)) jsdom: specifier: ^26.0.0 version: 26.0.0 vitest: - specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.5)(jsdom@26.0.0) + specifier: ^3.0.4 + version: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0) packages: @@ -300,27 +312,27 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@asamuzakjp/css-color@2.8.2': - resolution: {integrity: sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==} + '@asamuzakjp/css-color@2.8.3': + resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==} '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + '@babel/compat-data@7.26.5': + resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + '@babel/core@7.26.7': + resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + '@babel/generator@7.26.5': + resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.25.9': @@ -333,8 +345,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.25.9': @@ -349,12 +361,12 @@ packages: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + '@babel/helpers@7.26.7': + resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + '@babel/parser@7.26.7': + resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==} engines: {node: '>=6.0.0'} hasBin: true @@ -370,27 +382,28 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + '@babel/runtime@7.26.7': + resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} engines: {node: '>=6.9.0'} '@babel/template@7.25.9': resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + '@babel/traverse@7.26.7': + resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + '@babel/types@7.26.7': + resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} - '@changesets/apply-release-plan@7.0.7': - resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} + '@changesets/apply-release-plan@7.0.8': + resolution: {integrity: sha512-qjMUj4DYQ1Z6qHawsn7S71SujrExJ+nceyKKyI9iB+M5p9lCL55afuEd6uLBPRpLGWQwkwvWegDHtwHJb1UjpA==} '@changesets/assemble-release-plan@6.0.5': resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} @@ -398,8 +411,8 @@ packages: '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.11': - resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} + '@changesets/cli@2.27.12': + resolution: {integrity: sha512-9o3fOfHYOvBnyEn0mcahB7wzaA3P4bGJf8PNqGit5PKaMEFdsRixik+txkrJWd2VX+O6wRFXpxQL8j/1ANKE9g==} hasBin: true '@changesets/config@3.0.5': @@ -444,10 +457,10 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} - '@commander-js/extra-typings@13.0.0': - resolution: {integrity: sha512-4or44L3saI49QRBvdSzfCtzqONlFg0/qy0Cfl+LRynDaxlGs7r2KRTLCELaAoKh4oQguICxRwQfm77/Up+0wTw==} + '@commander-js/extra-typings@13.1.0': + resolution: {integrity: sha512-q5P52BYb1hwVWE6dtID7VvuJWrlfbCv4klj7BjUUOqMz4jbSZD4C9fJ9lRjL2jnBGTg+gDDlaXN51rkWcLk4fg==} peerDependencies: - commander: ~13.0.0 + commander: ~13.1.0 '@commitlint/cli@19.6.1': resolution: {integrity: sha512-8hcyA6ZoHwWXC76BoC8qVOSr8xHy00LZhZpauiD0iO0VYbVhMnED0da85lTfIULxl7Lj4c6vZgF0Wu/ed1+jlQ==} @@ -546,141 +559,153 @@ packages: resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -694,49 +719,75 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@formatjs/ecma402-abstract@2.3.2': + resolution: {integrity: sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==} - '@formatjs/ecma402-abstract@2.0.0': - resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} + '@formatjs/fast-memoize@2.2.6': + resolution: {integrity: sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==} - '@formatjs/icu-messageformat-parser@2.7.8': - resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} + '@formatjs/icu-messageformat-parser@2.11.0': + resolution: {integrity: sha512-Hp81uTjjdTk3FLh/dggU5NK7EIsVWc5/ZDWrIldmf2rBuPejuZ13CZ/wpVE2SToyi4EiroPTQ1XJcJuZFIxTtw==} - '@formatjs/icu-skeleton-parser@1.8.2': - resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} + '@formatjs/icu-skeleton-parser@1.8.12': + resolution: {integrity: sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==} - '@formatjs/intl-localematcher@0.5.4': - resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + '@formatjs/intl-localematcher@0.5.10': + resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==} - '@formatjs/ts-transformer@3.13.14': - resolution: {integrity: sha512-TP/R54lxQ9Drzzimxrrt6yBT/xBofTgYl5wSTpyKe3Aq9vIBVcFmS6EOqycj0X34KGu3EpDPGO0ng8ZQZGLIFg==} + '@formatjs/ts-transformer@3.13.31': + resolution: {integrity: sha512-DrPadj1CarzCzCzSmqHgtmH+VGswlg0A6ZYWU40XCqxu96yUl6xOFqdrk7Lb3actFKfC7zD283Ax8RS3FcVDEw==} peerDependencies: - ts-jest: '>=27' + ts-jest: 27 || 28 || 29 peerDependenciesMeta: ts-jest: optional: true - '@gerrit0/mini-shiki@1.26.1': - resolution: {integrity: sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==} + '@gerrit0/mini-shiki@1.27.2': + resolution: {integrity: sha512-GeWyHz8ao2gBiUW4OJnQDxXQnFgZQwwQk05t/CVVgNBN7/rK8XZ7xY6YhLVv9tH3VppWWmr9DCl3MwemB/i+Og==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - 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@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - 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.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -787,8 +838,8 @@ packages: resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==} engines: {node: '>=14.18.0'} - '@next/eslint-plugin-next@15.1.4': - resolution: {integrity: sha512-HwlEXwCK3sr6zmVGEvWBjW9tBFs1Oe6hTmTLoFQtpm4As5HCdu8jfSE0XJOp7uhfEGLniIx8yrGxEWwNnY0fmQ==} + '@next/eslint-plugin-next@15.1.6': + resolution: {integrity: sha512-+slMxhTgILUntZDGNgsKEYHUvpn72WP1YTlkmEhS51vnVd7S9jEEy0n9YAMcI21vUG4akTw9voWH02lrClt/yw==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -859,109 +910,109 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.30.1': - resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} + '@rollup/rollup-android-arm-eabi@4.32.0': + resolution: {integrity: sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.30.1': - resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} + '@rollup/rollup-android-arm64@4.32.0': + resolution: {integrity: sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.30.1': - resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} + '@rollup/rollup-darwin-arm64@4.32.0': + resolution: {integrity: sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.30.1': - resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} + '@rollup/rollup-darwin-x64@4.32.0': + resolution: {integrity: sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.30.1': - resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} + '@rollup/rollup-freebsd-arm64@4.32.0': + resolution: {integrity: sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.30.1': - resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} + '@rollup/rollup-freebsd-x64@4.32.0': + resolution: {integrity: sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} + '@rollup/rollup-linux-arm-gnueabihf@4.32.0': + resolution: {integrity: sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} + '@rollup/rollup-linux-arm-musleabihf@4.32.0': + resolution: {integrity: sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.30.1': - resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} + '@rollup/rollup-linux-arm64-gnu@4.32.0': + resolution: {integrity: sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.30.1': - resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} + '@rollup/rollup-linux-arm64-musl@4.32.0': + resolution: {integrity: sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': + resolution: {integrity: sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': + resolution: {integrity: sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} + '@rollup/rollup-linux-riscv64-gnu@4.32.0': + resolution: {integrity: sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.30.1': - resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} + '@rollup/rollup-linux-s390x-gnu@4.32.0': + resolution: {integrity: sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.30.1': - resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} + '@rollup/rollup-linux-x64-gnu@4.32.0': + resolution: {integrity: sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.30.1': - resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} + '@rollup/rollup-linux-x64-musl@4.32.0': + resolution: {integrity: sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.30.1': - resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} + '@rollup/rollup-win32-arm64-msvc@4.32.0': + resolution: {integrity: sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.30.1': - resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} + '@rollup/rollup-win32-ia32-msvc@4.32.0': + resolution: {integrity: sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.30.1': - resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} + '@rollup/rollup-win32-x64-msvc@4.32.0': + resolution: {integrity: sha512-5hqO5S3PTEO2E5VjCePxv40gIgyS2KvO7E7/vvC/NbIW4SIRamkMr1hqj+5Y67fbBWv/bQLB6KelBQmXlyCjWA==} cpu: [x64] os: [win32] '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@shikijs/engine-oniguruma@1.26.1': - resolution: {integrity: sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==} + '@shikijs/engine-oniguruma@1.29.1': + resolution: {integrity: sha512-gSt2WhLNgEeLstcweQOSp+C+MhOpTsgdNXRqr3zP6M+BUBZ8Md9OU2BYwUYsALBxHza7hwaIWtFHjQ/aOOychw==} - '@shikijs/types@1.26.1': - resolution: {integrity: sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==} + '@shikijs/types@1.29.1': + resolution: {integrity: sha512-aBqAuhYRp5vSir3Pc9+QPu9WESBOjUo03ao0IHLC4TyTioSsp/SkbAZSrIH4ghYYC1T1KTEpRSBa83bas4RnPA==} '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} @@ -973,68 +1024,68 @@ packages: '@storybook/csf@0.1.13': resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} - '@swc/core-darwin-arm64@1.10.7': - resolution: {integrity: sha512-SI0OFg987P6hcyT0Dbng3YRISPS9uhLX1dzW4qRrfqQdb0i75lPJ2YWe9CN47HBazrIA5COuTzrD2Dc0TcVsSQ==} + '@swc/core-darwin-arm64@1.10.11': + resolution: {integrity: sha512-ZpgEaNcx2e5D+Pd0yZGVbpSrEDOEubn7r2JXoNBf0O85lPjUm3HDzGRfLlV/MwxRPAkwm93eLP4l7gYnc50l3g==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.10.7': - resolution: {integrity: sha512-RFIAmWVicD/l3RzxgHW0R/G1ya/6nyMspE2cAeDcTbjHi0I5qgdhBWd6ieXOaqwEwiCd0Mot1g2VZrLGoBLsjQ==} + '@swc/core-darwin-x64@1.10.11': + resolution: {integrity: sha512-szObinnq2o7spXMDU5pdunmUeLrfV67Q77rV+DyojAiGJI1RSbEQotLOk+ONOLpoapwGUxOijFG4IuX1xiwQ2g==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.10.7': - resolution: {integrity: sha512-QP8vz7yELWfop5mM5foN6KkLylVO7ZUgWSF2cA0owwIaziactB2hCPZY5QU690coJouk9KmdFsPWDnaCFUP8tg==} + '@swc/core-linux-arm-gnueabihf@1.10.11': + resolution: {integrity: sha512-tVE8aXQwd8JUB9fOGLawFJa76nrpvp3dvErjozMmWSKWqtoeO7HV83aOrVtc8G66cj4Vq7FjTE9pOJeV1FbKRw==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.10.7': - resolution: {integrity: sha512-NgUDBGQcOeLNR+EOpmUvSDIP/F7i/OVOKxst4wOvT5FTxhnkWrW+StJGKj+DcUVSK5eWOYboSXr1y+Hlywwokw==} + '@swc/core-linux-arm64-gnu@1.10.11': + resolution: {integrity: sha512-geFkENU5GMEKO7FqHOaw9HVlpQEW10nICoM6ubFc0hXBv8dwRXU4vQbh9s/isLSFRftw1m4jEEWixAnXSw8bxQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.10.7': - resolution: {integrity: sha512-gp5Un3EbeSThBIh6oac5ZArV/CsSmTKj5jNuuUAuEsML3VF9vqPO+25VuxCvsRf/z3py+xOWRaN2HY/rjMeZog==} + '@swc/core-linux-arm64-musl@1.10.11': + resolution: {integrity: sha512-2mMscXe/ivq8c4tO3eQSbQDFBvagMJGlalXCspn0DgDImLYTEnt/8KHMUMGVfh0gMJTZ9q4FlGLo7mlnbx99MQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.10.7': - resolution: {integrity: sha512-k/OxLLMl/edYqbZyUNg6/bqEHTXJT15l9WGqsl/2QaIGwWGvles8YjruQYQ9d4h/thSXLT9gd8bExU2D0N+bUA==} + '@swc/core-linux-x64-gnu@1.10.11': + resolution: {integrity: sha512-eu2apgDbC4xwsigpl6LS+iyw6a3mL6kB4I+6PZMbFF2nIb1Dh7RGnu70Ai6mMn1o80fTmRSKsCT3CKMfVdeNFg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.10.7': - resolution: {integrity: sha512-XeDoURdWt/ybYmXLCEE8aSiTOzEn0o3Dx5l9hgt0IZEmTts7HgHHVeRgzGXbR4yDo0MfRuX5nE1dYpTmCz0uyA==} + '@swc/core-linux-x64-musl@1.10.11': + resolution: {integrity: sha512-0n+wPWpDigwqRay4IL2JIvAqSKCXv6nKxPig9M7+epAlEQlqX+8Oq/Ap3yHtuhjNPb7HmnqNJLCXT1Wx+BZo0w==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.10.7': - resolution: {integrity: sha512-nYAbi/uLS+CU0wFtBx8TquJw2uIMKBnl04LBmiVoFrsIhqSl+0MklaA9FVMGA35NcxSJfcm92Prl2W2LfSnTqQ==} + '@swc/core-win32-arm64-msvc@1.10.11': + resolution: {integrity: sha512-7+bMSIoqcbXKosIVd314YjckDRPneA4OpG1cb3/GrkQTEDXmWT3pFBBlJf82hzJfw7b6lfv6rDVEFBX7/PJoLA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.10.7': - resolution: {integrity: sha512-+aGAbsDsIxeLxw0IzyQLtvtAcI1ctlXVvVcXZMNXIXtTURM876yNrufRo4ngoXB3jnb1MLjIIjgXfFs/eZTUSw==} + '@swc/core-win32-ia32-msvc@1.10.11': + resolution: {integrity: sha512-6hkLl4+3KjP/OFTryWxpW7YFN+w4R689TSPwiII4fFgsFNupyEmLWWakKfkGgV2JVA59L4Oi02elHy/O1sbgtw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.10.7': - resolution: {integrity: sha512-TBf4clpDBjF/UUnkKrT0/th76/zwvudk5wwobiTFqDywMApHip5O0VpBgZ+4raY2TM8k5+ujoy7bfHb22zu17Q==} + '@swc/core-win32-x64-msvc@1.10.11': + resolution: {integrity: sha512-kKNE2BGu/La2k2WFHovenqZvGQAHRIU+rd2/6a7D6EiQ6EyimtbhUqjCCZ+N1f5fIAnvM+sMdLiQJq4jdd/oOQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.10.7': - resolution: {integrity: sha512-py91kjI1jV5D5W/Q+PurBdGsdU5TFbrzamP7zSCqLdMcHkKi3rQEM5jkQcZr0MXXSJTaayLxS3MWYTBIkzPDrg==} + '@swc/core@1.10.11': + resolution: {integrity: sha512-3zGU5y3S20cAwot9ZcsxVFNsSVaptG+dKdmAxORSE3EX7ixe1Xn5kUwLlgIsM4qrwTUWCJDLNhRS+2HLFivcDg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1056,8 +1107,8 @@ packages: resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react@16.1.0': - resolution: {integrity: sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==} + '@testing-library/react@16.2.0': + resolution: {integrity: sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -1071,8 +1122,8 @@ packages: '@types/react-dom': optional: true - '@testing-library/user-event@14.5.2': - resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' @@ -1104,8 +1155,11 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint@8.56.12': - resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/eslint__eslintrc@2.1.2': + resolution: {integrity: sha512-qXvzPFY7Rz05xD8ZApXJ3S8xStQD2Ibzu3EFIF0UMNOAfLY5xUu3H61q0JrHo2OXD6rcFG75yUxNQbkKtFKBSw==} '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -1134,37 +1188,28 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/node@22.12.0': + resolution: {integrity: sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/picomatch@2.3.4': - resolution: {integrity: sha512-0so8lU8O5zatZS/2Fi4zrwks+vZv7e0dygrgEZXljODXBig97l4cPQD+9LabXfGJOWwoRkTVz6Q4edZvD12UOA==} - - '@types/prop-types@15.7.14': - resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + '@types/picomatch@3.0.2': + resolution: {integrity: sha512-n0i8TD3UDB7paoMMxA3Y65vUncFJXjcUf7lQY7YyKGl6031FNjfsLs6pdLFCy2GNFxItPJG8GvvpbZc2skH7WA==} - '@types/react-dom@18.3.5': - resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + '@types/react-dom@19.0.3': + resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==} peerDependencies: - '@types/react': ^18.0.0 - - '@types/react@18.3.18': - resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} + '@types/react': ^19.0.0 - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/react@19.0.8': + resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} '@types/supports-color@8.1.3': resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} @@ -1175,109 +1220,77 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.19.1': - resolution: {integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==} + '@typescript-eslint/eslint-plugin@8.22.0': + resolution: {integrity: sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.19.1': - resolution: {integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==} + '@typescript-eslint/parser@8.22.0': + resolution: {integrity: sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/scope-manager@7.18.0': - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.19.1': - resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} + '@typescript-eslint/scope-manager@8.22.0': + resolution: {integrity: sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.19.1': - resolution: {integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==} + '@typescript-eslint/type-utils@8.22.0': + resolution: {integrity: sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/types@7.18.0': - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/types@8.19.1': - resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.22.0': + resolution: {integrity: sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.19.1': - resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.22.0': + resolution: {integrity: sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.1': - resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} + '@typescript-eslint/utils@8.22.0': + resolution: {integrity: sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/visitor-keys@7.18.0': - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/visitor-keys@8.19.1': - resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.1': - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + '@typescript-eslint/visitor-keys@8.22.0': + resolution: {integrity: sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} @@ -1285,43 +1298,56 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - '@vitest/coverage-v8@2.1.8': - resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} + '@vitest/coverage-v8@3.0.4': + resolution: {integrity: sha512-f0twgRCHgbs24Dp8cLWagzcObXMcuKtAwgxjJV/nnysPAJJk1JiKu/W0gIehZLmkljhJXU/E0/dmuQzsA/4jhA==} peerDependencies: - '@vitest/browser': 2.1.8 - vitest: 2.1.8 + '@vitest/browser': 3.0.4 + vitest: 3.0.4 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@2.1.8': - resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} + '@vitest/eslint-plugin@1.1.25': + resolution: {integrity: sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + + '@vitest/expect@3.0.4': + resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==} - '@vitest/mocker@2.1.8': - resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} + '@vitest/mocker@3.0.4': + resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@2.1.8': - resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + '@vitest/pretty-format@3.0.4': + resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==} - '@vitest/runner@2.1.8': - resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} + '@vitest/runner@3.0.4': + resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==} - '@vitest/snapshot@2.1.8': - resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} + '@vitest/snapshot@3.0.4': + resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==} - '@vitest/spy@2.1.8': - resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} + '@vitest/spy@3.0.4': + resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==} - '@vitest/utils@2.1.8': - resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + '@vitest/utils@3.0.4': + resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==} JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1438,6 +1464,10 @@ packages: ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1505,8 +1535,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001692: - resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} + caniuse-lite@1.0.30001695: + resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1593,12 +1623,8 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - - commander@13.0.0: - resolution: {integrity: sha512-oPYleIY8wmTVzkvQq10AEok6YcTC4sRUBl8F9gVuwchGVUCTbl/vhLTaQqutuuySYOsu8YTgV+OxKc/8Yvx+mQ==} + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} compare-func@2.0.0: @@ -1614,9 +1640,6 @@ packages: config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - conventional-changelog-angular@7.0.0: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} engines: {node: '>=16'} @@ -1707,8 +1730,8 @@ packages: supports-color: optional: true - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -1780,10 +1803,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -1805,8 +1824,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.80: - resolution: {integrity: sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==} + electron-to-chromium@1.5.88: + resolution: {integrity: sha512-K3C2qf1o+bGzbilTDCTBhTQcMS9KW60yTAaTeeXsfvQuTDDwlokLam/AdqlqcSy9u4UainDgsHV23ksXAOgamw==} emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -1865,8 +1884,8 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: @@ -1880,9 +1899,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: @@ -1897,33 +1916,17 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-airbnb-base@15.0.0: - resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 - - eslint-config-airbnb@19.0.4: - resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} - engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + eslint-config-prettier@10.0.1: + resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.3.3: - resolution: {integrity: sha512-cM9wSBYowQIrjx2MPCzFE6jTnG4vpTPJKZ/O+Ps3CqrmGK/wtNOsY6WHGMwLtKY/nNbgRahAJH6jGVF6k2coOg==} + eslint-config-turbo@2.3.4: + resolution: {integrity: sha512-MxPl+IKkR7mRGcHoiZAMHYl+RZnjqBsxTLf+IGnx8BrJQe9/CoLT7oBlUxXGvh9bsd5MTaqCxly5h8BE1v/7AA==} peerDependencies: eslint: '>6.6.0' + turbo: '>2.0.0' eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -1968,10 +1971,10 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-formatjs@4.13.3: - resolution: {integrity: sha512-4j3IVwaLEXblnvH2/ZIOZwc9zaaZf2+zyn/b8oLJRt6kMCTu2rIs4UsIxy5nBRYZzsBSh7k34JJ5/ngGtJ3kYw==} + eslint-plugin-formatjs@5.2.13: + resolution: {integrity: sha512-mxUuVpq2T+59uubEQe2aow3dpnGQ3g5kXZHS/NZt0/GqXjSFWYWxX5vxrrPW+74jPO2RaW8jYwBcfOcSucRzGQ==} peerDependencies: - eslint: 7 || 8 + eslint: '9' eslint-plugin-import@2.31.0: resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} @@ -2011,8 +2014,8 @@ packages: peerDependencies: eslint: '>=8.0.0' - eslint-plugin-prettier@5.2.1: - resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + eslint-plugin-prettier@5.2.3: + resolution: {integrity: sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -2025,14 +2028,14 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + eslint-plugin-react-hooks@5.1.0: + resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} 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.37.3: - resolution: {integrity: sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==} + eslint-plugin-react@7.37.4: + resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -2049,10 +2052,11 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-turbo@2.3.3: - resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} + eslint-plugin-turbo@2.3.4: + resolution: {integrity: sha512-9ncoUJkQGkC28NmlQiS17oB9mrE8XaSulRZiB5pv9vmRbYjOfUwyGhY3EIcoBRdww81igxOzXmAmvNNd6GFBPg==} peerDependencies: eslint: '>6.6.0' + turbo: '>2.0.0' eslint-plugin-unicorn@56.0.1: resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} @@ -2069,22 +2073,9 @@ packages: '@typescript-eslint/eslint-plugin': optional: true - eslint-plugin-vitest@0.5.4: - resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} - engines: {node: ^18.0.0 || >= 20.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': '*' - eslint: ^8.57.0 || ^9.0.0 - vitest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - vitest: - optional: true - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + 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.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -2094,11 +2085,19 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - 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. + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + 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} espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -2178,23 +2177,23 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.0.5: - resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - 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==} @@ -2212,15 +2211,16 @@ packages: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.4: + resolution: {integrity: sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==} + engines: {node: '>= 0.4'} foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} @@ -2238,9 +2238,6 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2288,8 +2285,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.8.1: - resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} git-hooks-list@3.1.0: resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} @@ -2311,10 +2308,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -2323,9 +2316,9 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.14.0: resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} @@ -2448,10 +2441,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2489,8 +2478,8 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-async-function@2.1.0: - resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} is-bigint@1.1.0: @@ -2591,10 +2580,6 @@ packages: resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.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'} @@ -2813,8 +2798,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@15.3.0: - resolution: {integrity: sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==} + lint-staged@15.4.3: + resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==} engines: {node: '>=18.12.0'} hasBin: true @@ -2888,10 +2873,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -2929,8 +2910,8 @@ packages: mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - mdast-util-mdx-jsx@3.1.3: - resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} mdast-util-mdx@3.0.0: resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} @@ -3044,8 +3025,8 @@ packages: micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.3: - resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + micromark-util-subtokenize@2.0.4: + resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} @@ -3086,10 +3067,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -3199,9 +3176,6 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -3309,10 +3283,6 @@ packages: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3336,8 +3306,8 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.2: + resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} @@ -3371,8 +3341,8 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3383,8 +3353,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier-plugin-packagejson@2.5.6: - resolution: {integrity: sha512-TY7KiLtyt6Tlf53BEbXUWkN0+TRdHKgIMmtXtDCyHH6yWnZ50Lwq6Vb6lyjapZrhDTXooC4EtlY5iLe1sCgi5w==} + prettier-plugin-packagejson@2.5.8: + resolution: {integrity: sha512-BaGOF63I0IJZoudxpuQe17naV93BRtK8b3byWktkJReKEMX9CC4qdGUzThPDVO/AUhPzlqDiAXbp18U6X8wLKA==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -3442,10 +3412,10 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: - react: ^18.3.1 + react: ^19.0.0 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -3457,8 +3427,8 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} read-package-json-fast@3.0.2: @@ -3572,13 +3542,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rollup@4.30.1: - resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} + rollup@4.32.0: + resolution: {integrity: sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3614,8 +3579,8 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} sembear@0.7.0: resolution: {integrity: sha512-XyLTEich2D02FODCkfdto3mB9DetWPLuTzr4tvoofe9SvyM27h4nQSbV3+iVcYQz94AFyKtqBv5pcZbj3k2hdA==} @@ -3699,8 +3664,8 @@ packages: sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - sort-package-json@2.12.0: - resolution: {integrity: sha512-/HrPQAeeLaa+vbAH/znjuhwUluuiM/zL5XX9kop8UpDgjtyWKt43hGDk2vd/TBdDpzIyzIHVUgmYofzYrAQjew==} + sort-package-json@2.14.0: + resolution: {integrity: sha512-xBRdmMjFB/KW3l51mP31dhlaiFmqkHLfWTfZAno8prb/wbDxwBPWFpxB16GZbiPbYr3wL41H8Kx22QIDWRe8WQ==} hasBin: true source-map-js@1.2.1: @@ -3719,8 +3684,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} @@ -3850,9 +3815,6 @@ packages: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -3870,19 +3832,19 @@ packages: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} tinyspy@3.0.2: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.71: - resolution: {integrity: sha512-LRbChn2YRpic1KxY+ldL1pGXN/oVvKfCVufwfVzEQdFYNo39uF7AJa/WXdo+gYO7PTvdfkCPCed6Hkvz/kR7jg==} + tldts-core@6.1.75: + resolution: {integrity: sha512-AOvV5YYIAFFBfransBzSTyztkc3IMfz5Eq3YluaRiEu55nn43Fzaufx70UqEKYr8BoLCach4q8g/bg6e5+/aFw==} - tldts@6.1.71: - resolution: {integrity: sha512-LQIHmHnuzfZgZWAf2HzL83TIIrD8NhhI0DVxqo9/FdOd4ilec+NTNZOlDZf7EwrTNoutccbsHjvWHYXLAtvxjw==} + tldts@6.1.75: + resolution: {integrity: sha512-+lFzEXhpl7JXgWYaXcB6DqTYXbUArvrWAE/5ioq/X3CdWLbDjpPP4XTrQBmEJ91y3xbe4Fkw7Lxv4P3GWeJaNg==} hasBin: true tmp@0.0.33: @@ -3904,12 +3866,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-api-utils@2.0.0: resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} engines: {node: '>=18.12'} @@ -3926,54 +3882,47 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - turbo-darwin-64@2.3.3: - resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} + turbo-darwin-64@2.3.4: + resolution: {integrity: sha512-uOi/cUIGQI7uakZygH+cZQ5D4w+aMLlVCN2KTGot+cmefatps2ZmRRufuHrEM0Rl63opdKD8/JIu+54s25qkfg==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.3.3: - resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} + turbo-darwin-arm64@2.3.4: + resolution: {integrity: sha512-IIM1Lq5R+EGMtM1YFGl4x8Xkr0MWb4HvyU8N4LNoQ1Be5aycrOE+VVfH+cDg/Q4csn+8bxCOxhRp5KmUflrVTQ==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.3.3: - resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} + turbo-linux-64@2.3.4: + resolution: {integrity: sha512-1aD2EfR7NfjFXNH3mYU5gybLJEFi2IGOoKwoPLchAFRQ6OEJQj201/oNo9CDL75IIrQo64/NpEgVyZtoPlfhfA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.3.3: - resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} + turbo-linux-arm64@2.3.4: + resolution: {integrity: sha512-MxTpdKwxCaA5IlybPxgGLu54fT2svdqTIxRd0TQmpRJIjM0s4kbM+7YiLk0mOh6dGqlWPUsxz/A0Mkn8Xr5o7Q==} cpu: [arm64] os: [linux] - turbo-windows-64@2.3.3: - resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} + turbo-windows-64@2.3.4: + resolution: {integrity: sha512-yyCrWqcRGu1AOOlrYzRnizEtdkqi+qKP0MW9dbk9OsMDXaOI5jlWtTY/AtWMkLw/czVJ7yS9Ex1vi9DB6YsFvw==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.3.3: - resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} + turbo-windows-arm64@2.3.4: + resolution: {integrity: sha512-PggC3qH+njPfn1PDVwKrQvvQby8X09ufbqZ2Ha4uSu+5TvPorHHkAbZVHKYj2Y+tvVzxRzi4Sv6NdHXBS9Be5w==} cpu: [arm64] os: [win32] - turbo@2.3.3: - resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} + turbo@2.3.4: + resolution: {integrity: sha512-1kiLO5C0Okh5ay1DbHsxkPsw9Sjsbjzm6cF85CpWjR0BIyBFNDbKqtUyqGADRS1dbbZoQanJZVj4MS5kk8J42Q==} hasBin: true type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -4022,6 +3971,13 @@ packages: peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x + typescript-eslint@8.22.0: + resolution: {integrity: sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + typescript@5.7.3: resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} @@ -4123,27 +4079,32 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@2.1.8: - resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} - engines: {node: ^18.0.0 || >=20.0.0} + vite-node@3.0.4: + resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.0.11: + resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -4158,21 +4119,28 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true - vitest@2.1.8: - resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest@3.0.4: + resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.8 - '@vitest/ui': 2.1.8 + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.4 + '@vitest/ui': 3.0.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/debug': + optional: true '@types/node': optional: true '@vitest/browser': @@ -4262,9 +4230,6 @@ packages: resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} engines: {node: '>=18'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -4291,11 +4256,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.6.1: - resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} - engines: {node: '>= 14'} - hasBin: true - yaml@2.7.0: resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} @@ -4332,13 +4292,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@asamuzakjp/css-color@2.8.2': + '@asamuzakjp/css-color@2.8.3': dependencies: '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 - lru-cache: 11.0.2 + lru-cache: 10.4.3 '@babel/code-frame@7.26.2': dependencies: @@ -4346,20 +4306,20 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.3': {} + '@babel/compat-data@7.26.5': {} - '@babel/core@7.26.0': + '@babel/core@7.26.7': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 convert-source-map: 2.0.0 debug: 4.4.0 gensync: 1.0.0-beta.2 @@ -4368,17 +4328,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.26.3': + '@babel/generator@7.26.5': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.25.9': + '@babel/helper-compilation-targets@7.26.5': dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.5 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.4 lru-cache: 5.1.1 @@ -4386,21 +4346,21 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.26.7 + '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.7 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color - '@babel/helper-plugin-utils@7.25.9': {} + '@babel/helper-plugin-utils@7.26.5': {} '@babel/helper-string-parser@7.25.9': {} @@ -4408,55 +4368,55 @@ snapshots: '@babel/helper-validator-option@7.25.9': {} - '@babel/helpers@7.26.0': + '@babel/helpers@7.26.7': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 - '@babel/parser@7.26.3': + '@babel/parser@7.26.7': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.7)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.26.7 + '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.7)': dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/core': 7.26.7 + '@babel/helper-plugin-utils': 7.26.5 - '@babel/runtime@7.26.0': + '@babel/runtime@7.26.7': dependencies: regenerator-runtime: 0.14.1 '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 - '@babel/traverse@7.26.4': + '@babel/traverse@7.26.7': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.3': + '@babel/types@7.26.7': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@bcoe/v8-coverage@0.2.3': {} + '@bcoe/v8-coverage@1.0.2': {} - '@changesets/apply-release-plan@7.0.7': + '@changesets/apply-release-plan@7.0.8': dependencies: '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 @@ -4485,9 +4445,9 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.11': + '@changesets/cli@2.27.12': dependencies: - '@changesets/apply-release-plan': 7.0.7 + '@changesets/apply-release-plan': 7.0.8 '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 '@changesets/config': 3.0.5 @@ -4598,15 +4558,15 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@commander-js/extra-typings@13.0.0(commander@13.0.0)': + '@commander-js/extra-typings@13.1.0(commander@13.1.0)': dependencies: - commander: 13.0.0 + commander: 13.1.0 - '@commitlint/cli@19.6.1(@types/node@22.10.5)(typescript@5.7.3)': + '@commitlint/cli@19.6.1(@types/node@22.12.0)(typescript@5.7.3)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.7.3) + '@commitlint/load': 19.6.1(@types/node@22.12.0)(typescript@5.7.3) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.2 @@ -4653,7 +4613,7 @@ snapshots: '@commitlint/rules': 19.6.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.7.3)': + '@commitlint/load@19.6.1(@types/node@22.12.0)(typescript@5.7.3)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 @@ -4661,7 +4621,7 @@ snapshots: '@commitlint/types': 19.5.0 chalk: 5.4.1 cosmiconfig: 9.0.0(typescript@5.7.3) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.12.0)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -4732,88 +4692,106 @@ snapshots: '@csstools/css-tokenizer@3.0.3': {} - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-arm64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.4.0 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.3.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -4822,55 +4800,69 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.19.0': {} - '@formatjs/ecma402-abstract@2.0.0': + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.5': dependencies: - '@formatjs/intl-localematcher': 0.5.4 - tslib: 2.6.2 + '@eslint/core': 0.10.0 + levn: 0.4.1 - '@formatjs/icu-messageformat-parser@2.7.8': + '@formatjs/ecma402-abstract@2.3.2': dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - '@formatjs/icu-skeleton-parser': 1.8.2 - tslib: 2.6.2 + '@formatjs/fast-memoize': 2.2.6 + '@formatjs/intl-localematcher': 0.5.10 + decimal.js: 10.5.0 + tslib: 2.8.1 - '@formatjs/icu-skeleton-parser@1.8.2': + '@formatjs/fast-memoize@2.2.6': dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - tslib: 2.6.2 + tslib: 2.8.1 - '@formatjs/intl-localematcher@0.5.4': + '@formatjs/icu-messageformat-parser@2.11.0': dependencies: - tslib: 2.6.2 + '@formatjs/ecma402-abstract': 2.3.2 + '@formatjs/icu-skeleton-parser': 1.8.12 + tslib: 2.8.1 + + '@formatjs/icu-skeleton-parser@1.8.12': + dependencies: + '@formatjs/ecma402-abstract': 2.3.2 + tslib: 2.8.1 - '@formatjs/ts-transformer@3.13.14': + '@formatjs/intl-localematcher@0.5.10': dependencies: - '@formatjs/icu-messageformat-parser': 2.7.8 + tslib: 2.8.1 + + '@formatjs/ts-transformer@3.13.31': + dependencies: + '@formatjs/icu-messageformat-parser': 2.11.0 '@types/json-stable-stringify': 1.1.0 - '@types/node': 17.0.45 + '@types/node': 22.12.0 chalk: 4.1.2 json-stable-stringify: 1.2.1 - tslib: 2.6.2 + tslib: 2.8.1 typescript: 5.7.3 - '@gerrit0/mini-shiki@1.26.1': + '@gerrit0/mini-shiki@1.27.2': dependencies: - '@shikijs/engine-oniguruma': 1.26.1 - '@shikijs/types': 1.26.1 + '@shikijs/engine-oniguruma': 1.29.1 + '@shikijs/types': 1.29.1 '@shikijs/vscode-textmate': 10.0.1 - '@humanwhocodes/config-array@0.13.0': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.0 - 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@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} '@isaacs/cliui@8.0.2': dependencies: @@ -4916,7 +4908,7 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -4927,7 +4919,7 @@ snapshots: '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -4945,7 +4937,7 @@ snapshots: jju: 1.4.0 js-yaml: 4.1.0 - '@next/eslint-plugin-next@15.1.4': + '@next/eslint-plugin-next@15.1.6': dependencies: fast-glob: 3.3.1 @@ -5032,79 +5024,79 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@rollup/pluginutils@5.1.4(rollup@4.30.1)': + '@rollup/pluginutils@5.1.4(rollup@4.32.0)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.30.1 + rollup: 4.32.0 - '@rollup/rollup-android-arm-eabi@4.30.1': + '@rollup/rollup-android-arm-eabi@4.32.0': optional: true - '@rollup/rollup-android-arm64@4.30.1': + '@rollup/rollup-android-arm64@4.32.0': optional: true - '@rollup/rollup-darwin-arm64@4.30.1': + '@rollup/rollup-darwin-arm64@4.32.0': optional: true - '@rollup/rollup-darwin-x64@4.30.1': + '@rollup/rollup-darwin-x64@4.32.0': optional: true - '@rollup/rollup-freebsd-arm64@4.30.1': + '@rollup/rollup-freebsd-arm64@4.32.0': optional: true - '@rollup/rollup-freebsd-x64@4.30.1': + '@rollup/rollup-freebsd-x64@4.32.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': + '@rollup/rollup-linux-arm-gnueabihf@4.32.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.30.1': + '@rollup/rollup-linux-arm-musleabihf@4.32.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.30.1': + '@rollup/rollup-linux-arm64-gnu@4.32.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.30.1': + '@rollup/rollup-linux-arm64-musl@4.32.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.30.1': + '@rollup/rollup-linux-riscv64-gnu@4.32.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.30.1': + '@rollup/rollup-linux-s390x-gnu@4.32.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.30.1': + '@rollup/rollup-linux-x64-gnu@4.32.0': optional: true - '@rollup/rollup-linux-x64-musl@4.30.1': + '@rollup/rollup-linux-x64-musl@4.32.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.30.1': + '@rollup/rollup-win32-arm64-msvc@4.32.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.30.1': + '@rollup/rollup-win32-ia32-msvc@4.32.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.30.1': + '@rollup/rollup-win32-x64-msvc@4.32.0': optional: true '@rtsao/scc@1.1.0': {} - '@shikijs/engine-oniguruma@1.26.1': + '@shikijs/engine-oniguruma@1.29.1': dependencies: - '@shikijs/types': 1.26.1 + '@shikijs/types': 1.29.1 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/types@1.26.1': + '@shikijs/types@1.29.1': dependencies: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 @@ -5117,51 +5109,51 @@ snapshots: dependencies: type-fest: 2.19.0 - '@swc/core-darwin-arm64@1.10.7': + '@swc/core-darwin-arm64@1.10.11': optional: true - '@swc/core-darwin-x64@1.10.7': + '@swc/core-darwin-x64@1.10.11': optional: true - '@swc/core-linux-arm-gnueabihf@1.10.7': + '@swc/core-linux-arm-gnueabihf@1.10.11': optional: true - '@swc/core-linux-arm64-gnu@1.10.7': + '@swc/core-linux-arm64-gnu@1.10.11': optional: true - '@swc/core-linux-arm64-musl@1.10.7': + '@swc/core-linux-arm64-musl@1.10.11': optional: true - '@swc/core-linux-x64-gnu@1.10.7': + '@swc/core-linux-x64-gnu@1.10.11': optional: true - '@swc/core-linux-x64-musl@1.10.7': + '@swc/core-linux-x64-musl@1.10.11': optional: true - '@swc/core-win32-arm64-msvc@1.10.7': + '@swc/core-win32-arm64-msvc@1.10.11': optional: true - '@swc/core-win32-ia32-msvc@1.10.7': + '@swc/core-win32-ia32-msvc@1.10.11': optional: true - '@swc/core-win32-x64-msvc@1.10.7': + '@swc/core-win32-x64-msvc@1.10.11': optional: true - '@swc/core@1.10.7': + '@swc/core@1.10.11': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.10.7 - '@swc/core-darwin-x64': 1.10.7 - '@swc/core-linux-arm-gnueabihf': 1.10.7 - '@swc/core-linux-arm64-gnu': 1.10.7 - '@swc/core-linux-arm64-musl': 1.10.7 - '@swc/core-linux-x64-gnu': 1.10.7 - '@swc/core-linux-x64-musl': 1.10.7 - '@swc/core-win32-arm64-msvc': 1.10.7 - '@swc/core-win32-ia32-msvc': 1.10.7 - '@swc/core-win32-x64-msvc': 1.10.7 + '@swc/core-darwin-arm64': 1.10.11 + '@swc/core-darwin-x64': 1.10.11 + '@swc/core-linux-arm-gnueabihf': 1.10.11 + '@swc/core-linux-arm64-gnu': 1.10.11 + '@swc/core-linux-arm64-musl': 1.10.11 + '@swc/core-linux-x64-gnu': 1.10.11 + '@swc/core-linux-x64-musl': 1.10.11 + '@swc/core-win32-arm64-msvc': 1.10.11 + '@swc/core-win32-ia32-msvc': 1.10.11 + '@swc/core-win32-x64-msvc': 1.10.11 '@swc/counter@0.1.3': {} @@ -5172,7 +5164,7 @@ snapshots: '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -5190,17 +5182,17 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.7 '@testing-library/dom': 10.4.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 19.0.8 + '@types/react-dom': 19.0.3(@types/react@19.0.8) - '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: '@testing-library/dom': 10.4.0 @@ -5212,42 +5204,46 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.7 '@types/concat-stream@2.0.3': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.12.0 '@types/conventional-commits-parser@5.0.1': dependencies: - '@types/node': 22.10.5 + '@types/node': 22.12.0 '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.34 + '@types/ms': 2.1.0 - '@types/eslint@8.56.12': + '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 + '@types/eslint__eslintrc@2.1.2': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.6 @@ -5274,48 +5270,41 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/ms@0.7.34': {} + '@types/ms@2.1.0': {} '@types/node@12.20.55': {} - '@types/node@17.0.45': {} - - '@types/node@22.10.5': + '@types/node@22.12.0': dependencies: undici-types: 6.20.0 '@types/normalize-package-data@2.4.4': {} - '@types/picomatch@2.3.4': {} + '@types/picomatch@3.0.2': {} - '@types/prop-types@15.7.14': {} - - '@types/react-dom@18.3.5(@types/react@18.3.18)': + '@types/react-dom@19.0.3(@types/react@19.0.8)': dependencies: - '@types/react': 18.3.18 + '@types/react': 19.0.8 - '@types/react@18.3.18': + '@types/react@19.0.8': dependencies: - '@types/prop-types': 15.7.14 csstype: 3.1.3 - '@types/semver@7.5.8': {} - '@types/supports-color@8.1.3': {} '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/type-utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.19.1 - eslint: 8.57.1 + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/type-utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.22.0 + eslint: 9.19.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -5324,84 +5313,61 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3)': + '@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.22.0 debug: 4.4.0 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/scope-manager@8.20.0': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 - '@typescript-eslint/scope-manager@7.18.0': + '@typescript-eslint/scope-manager@8.22.0': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 - '@typescript-eslint/scope-manager@8.19.1': + '@typescript-eslint/type-utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 - - '@typescript-eslint/type-utils@8.19.1(eslint@8.57.1)(typescript@5.7.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) debug: 4.4.0 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) ts-api-utils: 2.0.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} - - '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.20.0': {} - '@typescript-eslint/types@8.19.1': {} + '@typescript-eslint/types@8.22.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.4.0 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.3) - optionalDependencies: - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.3)': - dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.0 - globby: 11.1.0 + fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.3) - optionalDependencies: + ts-api-utils: 2.0.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.22.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -5412,74 +5378,53 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.7.3)': + '@typescript-eslint/utils@8.20.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) - eslint: 8.57.1 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.7.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/utils@8.19.1(eslint@8.57.1)(typescript@5.7.3)': + '@typescript-eslint/utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.3) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@8.20.0': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@7.18.0': - dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.20.0 + eslint-visitor-keys: 4.2.0 - '@typescript-eslint/visitor-keys@8.19.1': + '@typescript-eslint/visitor-keys@8.22.0': dependencies: - '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/types': 8.22.0 eslint-visitor-keys: 4.2.0 - '@ungap/structured-clone@1.2.1': {} - - '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.5))': + '@vitejs/plugin-react@4.3.4(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0))': dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.26.7 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.7) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.10.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0))': + '@vitest/coverage-v8@3.0.4(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 + '@bcoe/v8-coverage': 1.0.2 debug: 4.4.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -5489,50 +5434,58 @@ snapshots: magicast: 0.3.5 std-env: 3.8.0 test-exclude: 7.0.1 - tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.5)(jsdom@26.0.0) + tinyrainbow: 2.0.0 + vitest: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/expect@2.1.8': + '@vitest/eslint-plugin@1.1.25(@typescript-eslint/utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0))': dependencies: - '@vitest/spy': 2.1.8 - '@vitest/utils': 2.1.8 + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + optionalDependencies: + typescript: 5.7.3 + vitest: 3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0) + + '@vitest/expect@3.0.4': + dependencies: + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 chai: 5.1.2 - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.5))': + '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0))': dependencies: - '@vitest/spy': 2.1.8 + '@vitest/spy': 3.0.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) - '@vitest/pretty-format@2.1.8': + '@vitest/pretty-format@3.0.4': dependencies: - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 - '@vitest/runner@2.1.8': + '@vitest/runner@3.0.4': dependencies: - '@vitest/utils': 2.1.8 - pathe: 1.1.2 + '@vitest/utils': 3.0.4 + pathe: 2.0.2 - '@vitest/snapshot@2.1.8': + '@vitest/snapshot@3.0.4': dependencies: - '@vitest/pretty-format': 2.1.8 + '@vitest/pretty-format': 3.0.4 magic-string: 0.30.17 - pathe: 1.1.2 + pathe: 2.0.2 - '@vitest/spy@2.1.8': + '@vitest/spy@3.0.4': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.8': + '@vitest/utils@3.0.4': dependencies: - '@vitest/pretty-format': 2.1.8 + '@vitest/pretty-format': 3.0.4 loupe: 3.1.2 - tinyrainbow: 1.2.0 + tinyrainbow: 2.0.0 JSONStream@1.3.5: dependencies: @@ -5559,7 +5512,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.5 + fast-uri: 3.0.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -5605,7 +5558,7 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 is-string: 1.1.1 @@ -5617,7 +5570,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-shim-unscopables: 1.0.2 array.prototype.findlastindex@1.2.5: @@ -5626,7 +5579,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-shim-unscopables: 1.0.2 array.prototype.flat@1.3.3: @@ -5665,6 +5618,8 @@ snapshots: ast-types-flow@0.0.8: {} + async-function@1.0.0: {} + asynckit@0.4.0: {} available-typed-arrays@1.0.7: @@ -5698,8 +5653,8 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001692 - electron-to-chromium: 1.5.80 + caniuse-lite: 1.0.30001695 + electron-to-chromium: 1.5.88 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -5728,7 +5683,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001692: {} + caniuse-lite@1.0.30001695: {} ccount@2.0.1: {} @@ -5805,9 +5760,7 @@ snapshots: dependencies: delayed-stream: 1.0.0 - commander@12.1.0: {} - - commander@13.0.0: {} + commander@13.1.0: {} compare-func@2.0.0: dependencies: @@ -5828,8 +5781,6 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - confusing-browser-globals@1.0.11: {} - conventional-changelog-angular@7.0.0: dependencies: compare-func: 2.0.0 @@ -5851,9 +5802,9 @@ snapshots: dependencies: browserslist: 4.24.4 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3): + cosmiconfig-typescript-loader@6.1.0(@types/node@22.12.0)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3): dependencies: - '@types/node': 22.10.5 + '@types/node': 22.12.0 cosmiconfig: 9.0.0(typescript@5.7.3) jiti: 2.4.2 typescript: 5.7.3 @@ -5877,7 +5828,7 @@ snapshots: cssstyle@4.2.1: dependencies: - '@asamuzakjp/css-color': 2.8.2 + '@asamuzakjp/css-color': 2.8.3 rrweb-cssom: 0.8.0 csstype@3.1.3: {} @@ -5917,7 +5868,7 @@ snapshots: dependencies: ms: 2.1.3 - decimal.js@10.4.3: {} + decimal.js@10.5.0: {} decode-named-character-reference@1.0.2: dependencies: @@ -5981,10 +5932,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} @@ -6003,7 +5950,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.80: {} + electron-to-chromium@1.5.88: {} emoji-regex@10.3.0: {} @@ -6047,7 +5994,7 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 @@ -6114,7 +6061,7 @@ snapshots: es-module-lexer@1.6.0: {} - es-object-atoms@1.0.0: + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -6135,31 +6082,33 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild@0.21.5: + esbuild@0.24.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 escalade@3.2.0: {} @@ -6167,34 +6116,15 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-config-prettier@10.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - confusing-browser-globals: 1.0.11 - eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) - object.assign: 4.1.7 - object.entries: 1.1.8 - semver: 6.3.1 + eslint: 9.19.0(jiti@2.4.2) - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.3(eslint@8.57.1))(eslint@8.57.1): + eslint-config-turbo@2.3.4(eslint@9.19.0(jiti@2.4.2))(turbo@2.3.4): dependencies: - eslint: 8.57.1 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) - eslint-plugin-react: 7.37.3(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - object.assign: 4.1.7 - object.entries: 1.1.8 - - eslint-config-prettier@9.1.0(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - - eslint-config-turbo@2.3.3(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-plugin-turbo: 2.3.3(eslint@8.57.1) + eslint: 9.19.0(jiti@2.4.2) + eslint-plugin-turbo: 2.3.4(eslint@9.19.0(jiti@2.4.2))(turbo@2.3.4) + turbo: 2.3.4 eslint-import-resolver-node@0.3.9: dependencies: @@ -6204,27 +6134,27 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0 enhanced-resolve: 5.18.0 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) fast-glob: 3.3.3 - get-tsconfig: 4.8.1 + get-tsconfig: 4.10.0 is-bun-module: 1.3.0 is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-mdx@3.1.5(eslint@8.57.1): + eslint-mdx@3.1.5(eslint@9.19.0(jiti@2.4.2)): dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) espree: 9.6.1 estree-util-visit: 2.0.0 remark-mdx: 3.1.0 @@ -6241,36 +6171,35 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - eslint: 8.57.1 + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.19.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-formatjs@4.13.3(eslint@8.57.1): + eslint-plugin-formatjs@5.2.13(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): dependencies: - '@formatjs/icu-messageformat-parser': 2.7.8 - '@formatjs/ts-transformer': 3.13.14 - '@types/eslint': 8.56.12 - '@types/picomatch': 2.3.4 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.7.3) - emoji-regex: 10.4.0 - eslint: 8.57.1 + '@formatjs/icu-messageformat-parser': 2.11.0 + '@formatjs/ts-transformer': 3.13.31 + '@types/eslint': 9.6.1 + '@types/picomatch': 3.0.2 + '@typescript-eslint/utils': 8.20.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) magic-string: 0.30.17 - picomatch: 2.3.1 - tslib: 2.6.2 - typescript: 5.7.3 + picomatch: 4.0.2 + tslib: 2.8.1 unicode-emoji-utils: 1.2.0 transitivePeerDependencies: - supports-color - ts-jest + - typescript - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6279,9 +6208,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.19.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -6293,21 +6222,21 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.19.1(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest-dom@5.5.0(@testing-library/dom@10.4.0)(eslint@8.57.1): + eslint-plugin-jest-dom@5.5.0(@testing-library/dom@10.4.0)(eslint@9.19.0(jiti@2.4.2)): dependencies: - '@babel/runtime': 7.26.0 - eslint: 8.57.1 + '@babel/runtime': 7.26.7 + eslint: 9.19.0(jiti@2.4.2) requireindex: 1.2.0 optionalDependencies: '@testing-library/dom': 10.4.0 - eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.19.0(jiti@2.4.2)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -6317,7 +6246,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -6326,18 +6255,18 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-markdown@3.0.1(eslint@8.57.1): + eslint-plugin-markdown@3.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-mdx@3.1.5(eslint@8.57.1): + eslint-plugin-mdx@3.1.5(eslint@9.19.0(jiti@2.4.2)): dependencies: - eslint: 8.57.1 - eslint-mdx: 3.1.5(eslint@8.57.1) - eslint-plugin-markdown: 3.0.1(eslint@8.57.1) + eslint: 9.19.0(jiti@2.4.2) + eslint-mdx: 3.1.5(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-markdown: 3.0.1(eslint@9.19.0(jiti@2.4.2)) remark-mdx: 3.1.0 remark-parse: 11.0.0 remark-stringify: 11.0.0 @@ -6348,21 +6277,21 @@ snapshots: - bluebird - supports-color - eslint-plugin-prettier@5.2.1(@types/eslint@8.56.12)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.4.2): + eslint-plugin-prettier@5.2.3(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@9.19.0(jiti@2.4.2)))(eslint@9.19.0(jiti@2.4.2))(prettier@3.4.2): dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 optionalDependencies: - '@types/eslint': 8.56.12 - eslint-config-prettier: 9.1.0(eslint@8.57.1) + '@types/eslint': 9.6.1 + eslint-config-prettier: 10.0.1(eslint@9.19.0(jiti@2.4.2)) - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@5.1.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) - eslint-plugin-react@7.37.3(eslint@8.57.1): + eslint-plugin-react@7.37.4(eslint@9.19.0(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -6370,7 +6299,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6384,38 +6313,39 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@0.11.2(eslint@8.57.1)(typescript@5.7.3): + eslint-plugin-storybook@0.11.2(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): dependencies: '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - eslint: 8.57.1 + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-testing-library@7.1.1(eslint@8.57.1)(typescript@5.7.3): + eslint-plugin-testing-library@7.1.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): dependencies: - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/utils': 8.19.1(eslint@8.57.1)(typescript@5.7.3) - eslint: 8.57.1 + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-turbo@2.3.3(eslint@8.57.1): + eslint-plugin-turbo@2.3.4(eslint@9.19.0(jiti@2.4.2))(turbo@2.3.4): dependencies: dotenv: 16.0.3 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) + turbo: 2.3.4 - eslint-plugin-unicorn@56.0.1(eslint@8.57.1): + eslint-plugin-unicorn@56.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) ci-info: 4.1.0 clean-regexp: 1.0.0 core-js-compat: 3.40.0 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) esquery: 1.6.0 globals: 15.14.0 indent-string: 4.0.0 @@ -6428,24 +6358,13 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) - - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)(vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2)): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.3) - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.19.1(@typescript-eslint/parser@8.19.1(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) - vitest: 2.1.8(@types/node@22.10.5)(jsdom@26.0.0) - transitivePeerDependencies: - - supports-color - - typescript + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - eslint-scope@7.2.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -6454,49 +6373,53 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@8.57.1: + eslint@9.19.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.1 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.0 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.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.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + espree@9.6.1: dependencies: acorn: 8.14.0 @@ -6580,19 +6503,19 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.0.5: {} + fast-uri@3.0.6: {} fastq@1.18.0: dependencies: reusify: 1.0.4 - fdir@6.4.2(picomatch@4.0.2): + fdir@6.4.3(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -6614,15 +6537,14 @@ snapshots: path-exists: 5.0.0 unicorn-magic: 0.1.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.2 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.2: {} - for-each@0.3.3: + for-each@0.3.4: dependencies: is-callable: 1.2.7 @@ -6649,8 +6571,6 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true @@ -6678,7 +6598,7 @@ snapshots: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 @@ -6689,7 +6609,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-stdin@9.0.0: {} @@ -6701,7 +6621,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.7 - get-tsconfig@4.8.1: + get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -6730,24 +6650,13 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - global-directory@4.0.1: dependencies: ini: 4.1.1 globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.14.0: {} @@ -6859,11 +6768,6 @@ snapshots: indent-string@4.0.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - inherits@2.0.4: {} ini@1.3.8: {} @@ -6900,8 +6804,9 @@ snapshots: is-arrayish@0.2.1: {} - is-async-function@2.1.0: + is-async-function@2.1.1: dependencies: + async-function: 1.0.0 call-bound: 1.0.3 get-proto: 1.0.1 has-tostringtag: 1.0.2 @@ -6993,8 +6898,6 @@ snapshots: is-path-cwd@3.0.0: {} - is-path-inside@3.0.3: {} - is-path-inside@4.0.0: {} is-plain-obj@4.1.0: {} @@ -7082,7 +6985,7 @@ snapshots: iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 get-proto: 1.0.1 has-symbols: 1.1.0 @@ -7113,7 +7016,7 @@ snapshots: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 - decimal.js: 10.4.3 + decimal.js: 10.5.0 form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 @@ -7213,10 +7116,10 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@15.3.0: + lint-staged@15.4.3: dependencies: chalk: 5.4.1 - commander: 12.1.0 + commander: 13.1.0 debug: 4.4.0 execa: 8.0.1 lilconfig: 3.1.3 @@ -7224,7 +7127,7 @@ snapshots: micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.6.1 + yaml: 2.7.0 transitivePeerDependencies: - supports-color @@ -7296,8 +7199,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.2: {} - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -7312,8 +7213,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.7 + '@babel/types': 7.26.7 source-map-js: 1.2.1 make-dir@4.0.0: @@ -7369,7 +7270,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@3.1.3: + mdast-util-mdx-jsx@3.2.0: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 @@ -7390,7 +7291,7 @@ snapshots: dependencies: mdast-util-from-markdown: 2.0.2 mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: @@ -7457,7 +7358,7 @@ snapshots: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -7617,7 +7518,7 @@ snapshots: micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.3: + micromark-util-subtokenize@2.0.4: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 @@ -7651,7 +7552,7 @@ snapshots: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.0.4 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 transitivePeerDependencies: @@ -7678,10 +7579,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -7769,7 +7666,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -7777,14 +7674,14 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 object.fromentries@2.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 object.groupby@1.0.3: dependencies: @@ -7797,11 +7694,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 + es-object-atoms: 1.1.1 onetime@6.0.0: dependencies: @@ -7923,8 +7816,6 @@ snapshots: path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -7940,7 +7831,7 @@ snapshots: path-type@5.0.0: {} - pathe@1.1.2: {} + pathe@2.0.2: {} pathval@2.0.0: {} @@ -7958,7 +7849,7 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss@8.4.49: + postcss@8.5.1: dependencies: nanoid: 3.3.8 picocolors: 1.1.1 @@ -7970,9 +7861,9 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-packagejson@2.5.6(prettier@3.4.2): + prettier-plugin-packagejson@2.5.8(prettier@3.4.2): dependencies: - sort-package-json: 2.12.0 + sort-package-json: 2.14.0 synckit: 0.9.2 optionalDependencies: prettier: 3.4.2 @@ -8017,11 +7908,10 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dom@18.3.1(react@18.3.1): + react-dom@19.0.0(react@19.0.0): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.0.0 + scheduler: 0.25.0 react-is@16.13.1: {} @@ -8029,9 +7919,7 @@ snapshots: react-refresh@0.14.2: {} - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.0.0: {} read-package-json-fast@3.0.2: dependencies: @@ -8080,7 +7968,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -8167,33 +8055,29 @@ snapshots: rfdc@1.4.1: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rollup@4.30.1: + rollup@4.32.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.30.1 - '@rollup/rollup-android-arm64': 4.30.1 - '@rollup/rollup-darwin-arm64': 4.30.1 - '@rollup/rollup-darwin-x64': 4.30.1 - '@rollup/rollup-freebsd-arm64': 4.30.1 - '@rollup/rollup-freebsd-x64': 4.30.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 - '@rollup/rollup-linux-arm-musleabihf': 4.30.1 - '@rollup/rollup-linux-arm64-gnu': 4.30.1 - '@rollup/rollup-linux-arm64-musl': 4.30.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 - '@rollup/rollup-linux-riscv64-gnu': 4.30.1 - '@rollup/rollup-linux-s390x-gnu': 4.30.1 - '@rollup/rollup-linux-x64-gnu': 4.30.1 - '@rollup/rollup-linux-x64-musl': 4.30.1 - '@rollup/rollup-win32-arm64-msvc': 4.30.1 - '@rollup/rollup-win32-ia32-msvc': 4.30.1 - '@rollup/rollup-win32-x64-msvc': 4.30.1 + '@rollup/rollup-android-arm-eabi': 4.32.0 + '@rollup/rollup-android-arm64': 4.32.0 + '@rollup/rollup-darwin-arm64': 4.32.0 + '@rollup/rollup-darwin-x64': 4.32.0 + '@rollup/rollup-freebsd-arm64': 4.32.0 + '@rollup/rollup-freebsd-x64': 4.32.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.32.0 + '@rollup/rollup-linux-arm-musleabihf': 4.32.0 + '@rollup/rollup-linux-arm64-gnu': 4.32.0 + '@rollup/rollup-linux-arm64-musl': 4.32.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.32.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.32.0 + '@rollup/rollup-linux-riscv64-gnu': 4.32.0 + '@rollup/rollup-linux-s390x-gnu': 4.32.0 + '@rollup/rollup-linux-x64-gnu': 4.32.0 + '@rollup/rollup-linux-x64-musl': 4.32.0 + '@rollup/rollup-win32-arm64-msvc': 4.32.0 + '@rollup/rollup-win32-ia32-msvc': 4.32.0 + '@rollup/rollup-win32-x64-msvc': 4.32.0 fsevents: 2.3.3 rrweb-cssom@0.8.0: {} @@ -8233,9 +8117,7 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} sembear@0.7.0: dependencies: @@ -8267,7 +8149,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 shebang-command@2.0.0: dependencies: @@ -8325,7 +8207,7 @@ snapshots: sort-object-keys@1.1.3: {} - sort-package-json@2.12.0: + sort-package-json@2.14.0: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -8346,16 +8228,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.21 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 + spdx-license-ids: 3.0.21 - spdx-license-ids@3.0.20: {} + spdx-license-ids@3.0.21: {} split2@4.2.0: {} @@ -8406,7 +8288,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 get-intrinsic: 1.2.7 gopd: 1.2.0 has-symbols: 1.1.0 @@ -8427,7 +8309,7 @@ snapshots: define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: @@ -8435,13 +8317,13 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string_decoder@1.3.0: dependencies: @@ -8499,8 +8381,6 @@ snapshots: text-extensions@2.4.0: {} - text-table@0.2.0: {} - through@2.3.8: {} tinybench@2.9.0: {} @@ -8509,20 +8389,20 @@ snapshots: tinyglobby@0.2.10: dependencies: - fdir: 6.4.2(picomatch@4.0.2) + fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 tinypool@1.0.2: {} - tinyrainbow@1.2.0: {} + tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} - tldts-core@6.1.71: {} + tldts-core@6.1.75: {} - tldts@6.1.71: + tldts@6.1.75: dependencies: - tldts-core: 6.1.71 + tldts-core: 6.1.75 tmp@0.0.33: dependencies: @@ -8534,7 +8414,7 @@ snapshots: tough-cookie@5.1.0: dependencies: - tldts: 6.1.71 + tldts: 6.1.75 tr46@5.0.0: dependencies: @@ -8542,10 +8422,6 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.4.3(typescript@5.7.3): - dependencies: - typescript: 5.7.3 - ts-api-utils@2.0.0(typescript@5.7.3): dependencies: typescript: 5.7.3 @@ -8561,43 +8437,39 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.6.2: {} - tslib@2.8.1: {} - turbo-darwin-64@2.3.3: + turbo-darwin-64@2.3.4: optional: true - turbo-darwin-arm64@2.3.3: + turbo-darwin-arm64@2.3.4: optional: true - turbo-linux-64@2.3.3: + turbo-linux-64@2.3.4: optional: true - turbo-linux-arm64@2.3.3: + turbo-linux-arm64@2.3.4: optional: true - turbo-windows-64@2.3.3: + turbo-windows-64@2.3.4: optional: true - turbo-windows-arm64@2.3.3: + turbo-windows-arm64@2.3.4: optional: true - turbo@2.3.3: + turbo@2.3.4: optionalDependencies: - turbo-darwin-64: 2.3.3 - turbo-darwin-arm64: 2.3.3 - turbo-linux-64: 2.3.3 - turbo-linux-arm64: 2.3.3 - turbo-windows-64: 2.3.3 - turbo-windows-arm64: 2.3.3 + turbo-darwin-64: 2.3.4 + turbo-darwin-arm64: 2.3.4 + turbo-linux-64: 2.3.4 + turbo-linux-arm64: 2.3.4 + turbo-windows-64: 2.3.4 + turbo-windows-arm64: 2.3.4 type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -8615,7 +8487,7 @@ snapshots: typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -8624,7 +8496,7 @@ snapshots: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -8633,7 +8505,7 @@ snapshots: typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 @@ -8647,13 +8519,23 @@ snapshots: typedoc@0.27.6(typescript@5.7.3): dependencies: - '@gerrit0/mini-shiki': 1.26.1 + '@gerrit0/mini-shiki': 1.27.2 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 typescript: 5.7.3 yaml: 2.7.0 + typescript-eslint@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + typescript@5.7.3: {} uc.micro@2.1.0: {} @@ -8678,7 +8560,7 @@ snapshots: '@types/concat-stream': 2.0.3 '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 - '@types/node': 22.10.5 + '@types/node': 22.12.0 '@types/unist': 3.0.3 concat-stream: 2.0.0 debug: 4.4.0 @@ -8743,10 +8625,10 @@ snapshots: universalify@0.1.2: {} - unplugin-swc@1.5.1(@swc/core@1.10.7)(rollup@4.30.1): + unplugin-swc@1.5.1(@swc/core@1.10.11)(rollup@4.32.0): dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.30.1) - '@swc/core': 1.10.7 + '@rollup/pluginutils': 5.1.4(rollup@4.32.0) + '@swc/core': 1.10.11 load-tsconfig: 0.2.5 unplugin: 1.16.1 transitivePeerDependencies: @@ -8814,15 +8696,16 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.5): + vite-node@3.0.4(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 - pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.5) + pathe: 2.0.2 + vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass @@ -8831,42 +8714,48 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - vite@5.4.11(@types/node@22.10.5): + vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0): dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.30.1 + esbuild: 0.24.2 + postcss: 8.5.1 + rollup: 4.32.0 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.12.0 fsevents: 2.3.3 + jiti: 2.4.2 + yaml: 2.7.0 - vitest@2.1.8(@types/node@22.10.5)(jsdom@26.0.0): + vitest@3.0.4(@types/debug@4.1.12)(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(yaml@2.7.0): dependencies: - '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.5)) - '@vitest/pretty-format': 2.1.8 - '@vitest/runner': 2.1.8 - '@vitest/snapshot': 2.1.8 - '@vitest/spy': 2.1.8 - '@vitest/utils': 2.1.8 + '@vitest/expect': 3.0.4 + '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.4 + '@vitest/runner': 3.0.4 + '@vitest/snapshot': 3.0.4 + '@vitest/spy': 3.0.4 + '@vitest/utils': 3.0.4 chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 magic-string: 0.30.17 - pathe: 1.1.2 + pathe: 2.0.2 std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 - tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.5) - vite-node: 2.1.8(@types/node@22.10.5) + tinyrainbow: 2.0.0 + vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) + vite-node: 3.0.4(@types/node@22.12.0)(jiti@2.4.2)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.5 + '@types/debug': 4.1.12 + '@types/node': 22.12.0 jsdom: 26.0.0 transitivePeerDependencies: + - jiti - less - lightningcss - msw @@ -8876,6 +8765,8 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml w3c-xmlserializer@5.0.0: dependencies: @@ -8911,7 +8802,7 @@ snapshots: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.1.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 is-generator-function: 1.1.0 @@ -8934,7 +8825,7 @@ snapshots: available-typed-arrays: 1.0.7 call-bind: 1.0.8 call-bound: 1.0.3 - for-each: 0.3.3 + for-each: 0.3.4 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -8975,8 +8866,6 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - ws@8.18.0: {} xml-name-validator@5.0.0: {} @@ -8987,8 +8876,6 @@ snapshots: yallist@3.1.1: {} - yaml@2.6.1: {} - yaml@2.7.0: {} yargs-parser@21.1.1: {} diff --git a/tsconfig.json b/tsconfig.json index 87947b43..9f3c7d33 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,4 @@ { "extends": "@apitree.cz/ts-config", - "files": [".eslintrc.cjs", "commitlint.config.cjs", "lint-staged.config.js", "prettier.config.js"] + "files": ["commitlint.config.js", "eslint.config.js", "lint-staged.config.js", "prettier.config.js"] } diff --git a/turbo.json b/turbo.json index 0f9d276e..f329797f 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,6 @@ { "$schema": "https://turborepo.org/schema.json", + "ui": "tui", "tasks": { "build": { "dependsOn": ["^build"], @@ -30,6 +31,10 @@ "outputs": [".eslintcache", "tsconfig.buildinfo"] }, "test": { + "dependsOn": ["^build"], + "outputs": [] + }, + "test:coverage": { "dependsOn": ["^build"], "outputs": ["coverage/**/*"] },