From 7b46780af7ca6e973226b760e22acf106d8cc409 Mon Sep 17 00:00:00 2001 From: Vben Date: Mon, 12 Aug 2024 21:05:01 +0800 Subject: [PATCH 1/2] perf: optimize the diffPreferences logic and adjust the unit test (#4130) --- docs/src/commercial/community.md | 4 +- internal/vite-config/src/options.ts | 3 + internal/vite-config/src/plugins/importmap.ts | 7 +- .../src/plugins/inject-metadata.ts | 4 +- internal/vite-config/src/utils/env.ts | 33 ++++--- .../design/src/design-tokens/dark/index.css | 9 +- .../src/design-tokens/default/index.css | 8 +- .../@core/base/shared/src/utils/diff.test.ts | 75 +++++++-------- packages/@core/base/shared/src/utils/diff.ts | 96 +++++++++++++------ .../components/page/__tests__/page.test.ts | 18 +++- .../common-ui/src/components/page/page.vue | 19 +++- 11 files changed, 177 insertions(+), 99 deletions(-) diff --git a/docs/src/commercial/community.md b/docs/src/commercial/community.md index 35fc4054..b139f9f4 100644 --- a/docs/src/commercial/community.md +++ b/docs/src/commercial/community.md @@ -14,8 +14,8 @@ ::: -作者主要通过微信群提供帮助,如果你有问题,可以通过以下方式加入微信群: +作者主要通过微信群提供帮助,如果你有问题,可以通过以下方式加入微信群。 通过微信联系作者,注明加群来意: - + diff --git a/internal/vite-config/src/options.ts b/internal/vite-config/src/options.ts index b3d44624..d35441b5 100644 --- a/internal/vite-config/src/options.ts +++ b/internal/vite-config/src/options.ts @@ -25,6 +25,9 @@ const getDefaultPwaOptions = (name: string): Partial => ({ }, }); +/** + * importmap CDN 暂时不开启,因为有些包不支持,且网络不稳定 + */ const defaultImportmapOptions: ImportmapPluginOptions = { // 通过 Importmap CDN 方式引入, // 目前只有esm.sh源兼容性好一点,jspm.io对于 esm 入口要求高 diff --git a/internal/vite-config/src/plugins/importmap.ts b/internal/vite-config/src/plugins/importmap.ts index 600993d9..c6154c9e 100644 --- a/internal/vite-config/src/plugins/importmap.ts +++ b/internal/vite-config/src/plugins/importmap.ts @@ -80,7 +80,7 @@ async function viteImportMapPlugin( const firstLayerKeys = Object.keys(scopes); const inputMapScopes: string[] = []; firstLayerKeys.forEach((key) => { - inputMapScopes.push(...Object.keys(scopes[key])); + inputMapScopes.push(...Object.keys(scopes[key] || {})); }); const inputMapImports = Object.keys(imports); @@ -160,7 +160,10 @@ async function viteImportMapPlugin( options.defaultProvider || DEFAULT_PROVIDER, ); - const resultHtml = await injectShimsToHtml(html, esModuleShimsSrc); + const resultHtml = await injectShimsToHtml( + html, + esModuleShimsSrc || '', + ); html = await minify(resultHtml || html, { collapseWhitespace: true, minifyCSS: true, diff --git a/internal/vite-config/src/plugins/inject-metadata.ts b/internal/vite-config/src/plugins/inject-metadata.ts index 80d1db5a..2731412f 100644 --- a/internal/vite-config/src/plugins/inject-metadata.ts +++ b/internal/vite-config/src/plugins/inject-metadata.ts @@ -16,8 +16,8 @@ function resolvePackageVersion( async function resolveMonorepoDependencies() { const { packages } = await getPackages(); - const resultDevDependencies: Record = {}; - const resultDependencies: Record = {}; + const resultDevDependencies: Record = {}; + const resultDependencies: Record = {}; const pkgsMeta: Record = {}; for (const { packageJson } of packages) { diff --git a/internal/vite-config/src/utils/env.ts b/internal/vite-config/src/utils/env.ts index ea1cbf67..f9cdd4f5 100644 --- a/internal/vite-config/src/utils/env.ts +++ b/internal/vite-config/src/utils/env.ts @@ -6,6 +6,14 @@ import { fs } from '@vben/node-utils'; import dotenv from 'dotenv'; +const getBoolean = (value: string | undefined) => value === 'true'; + +const getString = (value: string | undefined, fallback: string) => + value ?? fallback; + +const getNumber = (value: string | undefined, fallback: number) => + Number(value) || fallback; + /** * 获取当前环境下生效的配置文件名 */ @@ -63,6 +71,7 @@ async function loadAndConvertEnv( } & Partial > { const envConfig = await loadEnv(match, confFiles); + const { VITE_APP_TITLE, VITE_BASE, @@ -74,22 +83,22 @@ async function loadAndConvertEnv( VITE_PWA, VITE_VISUALIZER, } = envConfig; - const compress = VITE_COMPRESS || ''; - const compressTypes = compress + + const compressTypes = (VITE_COMPRESS ?? '') .split(',') .filter((item) => item === 'brotli' || item === 'gzip'); return { - appTitle: VITE_APP_TITLE ?? 'Vben Admin', - base: VITE_BASE || '/', - compress: !!compress, - compressTypes: compressTypes as ('brotli' | 'gzip')[], - devtools: VITE_DEVTOOLS === 'true', - injectAppLoading: VITE_INJECT_APP_LOADING === 'true', - nitroMock: VITE_NITRO_MOCK === 'true', - port: Number(VITE_PORT) || 5173, - pwa: VITE_PWA === 'true', - visualizer: VITE_VISUALIZER === 'true', + appTitle: getString(VITE_APP_TITLE, 'Vben Admin'), + base: getString(VITE_BASE, '/'), + compress: compressTypes.length > 0, + compressTypes, + devtools: getBoolean(VITE_DEVTOOLS), + injectAppLoading: getBoolean(VITE_INJECT_APP_LOADING), + nitroMock: getBoolean(VITE_NITRO_MOCK), + port: getNumber(VITE_PORT, 5173), + pwa: getBoolean(VITE_PWA), + visualizer: getBoolean(VITE_VISUALIZER), }; } diff --git a/packages/@core/base/design/src/design-tokens/dark/index.css b/packages/@core/base/design/src/design-tokens/dark/index.css index 1dea6978..45e255f7 100644 --- a/packages/@core/base/design/src/design-tokens/dark/index.css +++ b/packages/@core/base/design/src/design-tokens/dark/index.css @@ -19,8 +19,13 @@ --popover-foreground: 210 40% 98%; /* Muted backgrounds such as , and */ - --muted: 220deg 6.82% 17.25%; - --muted-foreground: 215 20.2% 65.1%; + + /* --muted: 220deg 6.82% 17.25%; */ + + /* --muted-foreground: 215 20.2% 65.1%; */ + + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; /* 主题颜色 */ diff --git a/packages/@core/base/design/src/design-tokens/default/index.css b/packages/@core/base/design/src/design-tokens/default/index.css index bf334175..991ea890 100644 --- a/packages/@core/base/design/src/design-tokens/default/index.css +++ b/packages/@core/base/design/src/design-tokens/default/index.css @@ -19,8 +19,12 @@ --popover-foreground: 222.2 84% 4.9%; /* Muted backgrounds such as , and */ - --muted: 210 40% 96.1%; - --muted-foreground: 215.4 16.3% 46.9%; + + /* --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; */ + + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; /* 主题颜色 */ diff --git a/packages/@core/base/shared/src/utils/diff.test.ts b/packages/@core/base/shared/src/utils/diff.test.ts index e2a8121d..c858a3bf 100644 --- a/packages/@core/base/shared/src/utils/diff.test.ts +++ b/packages/@core/base/shared/src/utils/diff.test.ts @@ -3,58 +3,51 @@ import { describe, expect, it } from 'vitest'; import { diff } from './diff'; describe('diff function', () => { - it('should correctly find differences in flat objects', () => { - const oldObj = { a: 1, b: 2, c: 3 }; - const newObj = { a: 1, b: 3, c: 3 }; - expect(diff(oldObj, newObj)).toEqual({ b: 3 }); + it('should return an empty object when comparing identical objects', () => { + const obj1 = { a: 1, b: { c: 2 } }; + const obj2 = { a: 1, b: { c: 2 } }; + expect(diff(obj1, obj2)).toEqual(undefined); }); - it('should correctly handle nested objects', () => { - const oldObj = { a: { b: 1, c: 2 }, d: 3 }; - const newObj = { a: { b: 1, c: 3 }, d: 3 }; - expect(diff(oldObj, newObj)).toEqual({ a: { b: 1, c: 3 } }); + it('should detect simple changes in primitive values', () => { + const obj1 = { a: 1, b: 2 }; + const obj2 = { a: 1, b: 3 }; + expect(diff(obj1, obj2)).toEqual({ b: 3 }); }); - it('should correctly handle arrays`', () => { - const oldObj = { a: [1, 2, 3] }; - const newObj = { a: [1, 2, 4] }; - expect(diff(oldObj, newObj)).toEqual({ a: [1, 2, 4] }); + it('should detect nested object changes', () => { + const obj1 = { a: 1, b: { c: 2, d: 4 } }; + const obj2 = { a: 1, b: { c: 3, d: 4 } }; + expect(diff(obj1, obj2)).toEqual({ b: { c: 3 } }); }); - it('should correctly handle nested arrays', () => { - const oldObj = { - a: [ - [1, 2], - [3, 4], - ], - }; - const newObj = { - a: [ - [1, 2], - [3, 5], - ], - }; - expect(diff(oldObj, newObj)).toEqual({ - a: [ - [1, 2], - [3, 5], - ], - }); + it('should handle array changes', () => { + const obj1 = { a: [1, 2, 3], b: 2 }; + const obj2 = { a: [1, 2, 4], b: 2 }; + expect(diff(obj1, obj2)).toEqual({ a: [1, 2, 4] }); }); - it('should return null if objects are identical', () => { - const oldObj = { a: 1, b: 2, c: 3 }; - const newObj = { a: 1, b: 2, c: 3 }; - expect(diff(oldObj, newObj)).toBeNull(); + it('should handle added keys', () => { + const obj1 = { a: 1 }; + const obj2 = { a: 1, b: 2 }; + expect(diff(obj1, obj2)).toEqual({ b: 2 }); }); - it('should return differences between two objects excluding ignored fields', () => { - const oldObj = { a: 1, b: 2, c: 3, d: 6 }; - const newObj = { a: 2, b: 2, c: 4, d: 5 }; - const ignoreFields: (keyof typeof newObj)[] = ['a', 'd']; + it('should handle removed keys', () => { + const obj1 = { a: 1, b: 2 }; + const obj2 = { a: 1 }; + expect(diff(obj1, obj2)).toEqual(undefined); + }); - const result = diff(oldObj, newObj, ignoreFields); + it('should handle boolean value changes', () => { + const obj1 = { a: true, b: false }; + const obj2 = { a: true, b: true }; + expect(diff(obj1, obj2)).toEqual({ b: true }); + }); - expect(result).toEqual({ c: 4 }); + it('should handle null and undefined values', () => { + const obj1 = { a: null, b: undefined }; + const obj2: any = { a: 1, b: undefined }; + expect(diff(obj1, obj2)).toEqual({ a: 1 }); }); }); diff --git a/packages/@core/base/shared/src/utils/diff.ts b/packages/@core/base/shared/src/utils/diff.ts index feb1f7df..449214d7 100644 --- a/packages/@core/base/shared/src/utils/diff.ts +++ b/packages/@core/base/shared/src/utils/diff.ts @@ -1,4 +1,4 @@ -type Diff = T; +// type Diff = T; // 比较两个数组是否相等 @@ -19,40 +19,78 @@ function arraysEqual(a: T[], b: T[]): boolean { } // 深度对比两个值 -function deepEqual(oldVal: T, newVal: T): boolean { - if ( - typeof oldVal === 'object' && - oldVal !== null && - typeof newVal === 'object' && - newVal !== null - ) { - return Array.isArray(oldVal) && Array.isArray(newVal) - ? arraysEqual(oldVal, newVal) - : diff(oldVal as any, newVal as any) === null; - } else { - return oldVal === newVal; - } -} +// function deepEqual(oldVal: T, newVal: T): boolean { +// if ( +// typeof oldVal === 'object' && +// oldVal !== null && +// typeof newVal === 'object' && +// newVal !== null +// ) { +// return Array.isArray(oldVal) && Array.isArray(newVal) +// ? arraysEqual(oldVal, newVal) +// : diff(oldVal as any, newVal as any) === null; +// } else { +// return oldVal === newVal; +// } +// } -// 主要的 diff 函数 -function diff( - oldObj: T, - newObj: T, - ignoreFields: (keyof T)[] = [], -): { [K in keyof T]?: Diff } | null { - const difference: { [K in keyof T]?: Diff } = {}; +// // diff 函数 +// function diff( +// oldObj: T, +// newObj: T, +// ignoreFields: (keyof T)[] = [], +// ): { [K in keyof T]?: Diff } | null { +// const difference: { [K in keyof T]?: Diff } = {}; - for (const key in oldObj) { - if (ignoreFields.includes(key)) continue; - const oldValue = oldObj[key]; - const newValue = newObj[key]; +// for (const key in oldObj) { +// if (ignoreFields.includes(key)) continue; +// const oldValue = oldObj[key]; +// const newValue = newObj[key]; - if (!deepEqual(oldValue, newValue)) { - difference[key] = newValue; +// if (!deepEqual(oldValue, newValue)) { +// difference[key] = newValue; +// } +// } + +// return Object.keys(difference).length === 0 ? null : difference; +// } + +type DiffResult = Partial<{ + [K in keyof T]: T[K] extends object ? DiffResult : T[K]; +}>; + +function diff>(obj1: T, obj2: T): DiffResult { + function findDifferences(o1: any, o2: any): any { + if (Array.isArray(o1) && Array.isArray(o2)) { + if (!arraysEqual(o1, o2)) { + return o2; + } + return undefined; } + + if ( + typeof o1 === 'object' && + typeof o2 === 'object' && + o1 !== null && + o2 !== null + ) { + const diffResult: any = {}; + + const keys = new Set([...Object.keys(o1), ...Object.keys(o2)]); + keys.forEach((key) => { + const valueDiff = findDifferences(o1[key], o2[key]); + if (valueDiff !== undefined) { + diffResult[key] = valueDiff; + } + }); + + return Object.keys(diffResult).length > 0 ? diffResult : undefined; + } + + return o1 === o2 ? undefined : o2; } - return Object.keys(difference).length === 0 ? null : difference; + return findDifferences(obj1, obj2); } export { arraysEqual, diff }; diff --git a/packages/effects/common-ui/src/components/page/__tests__/page.test.ts b/packages/effects/common-ui/src/components/page/__tests__/page.test.ts index 0efb72d2..4169514a 100644 --- a/packages/effects/common-ui/src/components/page/__tests__/page.test.ts +++ b/packages/effects/common-ui/src/components/page/__tests__/page.test.ts @@ -58,6 +58,20 @@ describe('page.vue', () => { expect(contentDiv.classes()).toContain('custom-class'); }); + it('does not render title slot if title prop is provided', () => { + const wrapper = mount(Page, { + props: { + title: 'Test Title', + }, + slots: { + title: '

Title Slot Content

', + }, + }); + + expect(wrapper.text()).toContain('Title Slot Content'); + expect(wrapper.html()).not.toContain('Test Title'); + }); + it('does not render description slot if description prop is provided', () => { const wrapper = mount(Page, { props: { @@ -68,7 +82,7 @@ describe('page.vue', () => { }, }); - expect(wrapper.text()).toContain('Test Description'); - expect(wrapper.html()).not.toContain('Description Slot Content'); + expect(wrapper.text()).toContain('Description Slot Content'); + expect(wrapper.html()).not.toContain('Test Description'); }); }); diff --git a/packages/effects/common-ui/src/components/page/page.vue b/packages/effects/common-ui/src/components/page/page.vue index cdbefa23..d8564543 100644 --- a/packages/effects/common-ui/src/components/page/page.vue +++ b/packages/effects/common-ui/src/components/page/page.vue @@ -24,11 +24,20 @@ const props = withDefaults(defineProps(), { v-if="description || $slots.description || title" class="bg-card px-6 py-4" > -
- {{ title }} -
- - + +
+ {{ title }} +
+
+ + +

+ {{ description }} +

+
From bf021a0578f7638a6a3c43abf1b4d574505a3bd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 08:05:59 +0800 Subject: [PATCH 2/2] chore(deps): bump the non-breaking-changes group with 10 updates (#4131) Bumps the non-breaking-changes group with 10 updates: | Package | From | To | | --- | --- | --- | | [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `8.13.2` | `8.13.3` | | [@iconify/json](https://github.com/iconify/icon-sets) | `2.2.235` | `2.2.236` | | [vite-plugin-vue-devtools](https://github.com/vuejs/devtools-next/tree/HEAD/packages/vite) | `7.3.7` | `7.3.8` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.8.0` | `9.9.0` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.0.1` | `8.1.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.0.1` | `8.1.0` | | [eslint](https://github.com/eslint/eslint) | `9.8.0` | `9.9.0` | | [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `50.0.0` | `50.0.1` | | [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports) | `4.1.2` | `4.1.3` | | [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `2.4.0` | `2.5.2` | Updates `cspell` from 8.13.2 to 8.13.3 - [Release notes](https://github.com/streetsidesoftware/cspell/releases) - [Changelog](https://github.com/streetsidesoftware/cspell/blob/main/packages/cspell/CHANGELOG.md) - [Commits](https://github.com/streetsidesoftware/cspell/commits/v8.13.3/packages/cspell) Updates `@iconify/json` from 2.2.235 to 2.2.236 - [Commits](https://github.com/iconify/icon-sets/compare/2.2.235...2.2.236) Updates `vite-plugin-vue-devtools` from 7.3.7 to 7.3.8 - [Release notes](https://github.com/vuejs/devtools-next/releases) - [Commits](https://github.com/vuejs/devtools-next/commits/v7.3.8/packages/vite) Updates `@eslint/js` from 9.8.0 to 9.9.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.9.0/packages/js) Updates `@typescript-eslint/eslint-plugin` from 8.0.1 to 8.1.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.1.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.0.1 to 8.1.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.1.0/packages/parser) Updates `eslint` from 9.8.0 to 9.9.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.8.0...v9.9.0) Updates `eslint-plugin-jsdoc` from 50.0.0 to 50.0.1 - [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases) - [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc) - [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.0.0...v50.0.1) Updates `eslint-plugin-unused-imports` from 4.1.2 to 4.1.3 - [Commits](https://github.com/sweepline/eslint-plugin-unused-imports/compare/v4.1.2...v4.1.3) Updates `tailwind-merge` from 2.4.0 to 2.5.2 - [Release notes](https://github.com/dcastil/tailwind-merge/releases) - [Commits](https://github.com/dcastil/tailwind-merge/compare/v2.4.0...v2.5.2) --- updated-dependencies: - dependency-name: cspell dependency-type: direct:development update-type: version-update:semver-patch dependency-group: non-breaking-changes - dependency-name: "@iconify/json" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-breaking-changes - dependency-name: vite-plugin-vue-devtools dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-breaking-changes - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: non-breaking-changes - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: non-breaking-changes - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: non-breaking-changes - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: non-breaking-changes - dependency-name: eslint-plugin-jsdoc dependency-type: direct:development update-type: version-update:semver-patch dependency-group: non-breaking-changes - dependency-name: eslint-plugin-unused-imports dependency-type: direct:development update-type: version-update:semver-patch dependency-group: non-breaking-changes - dependency-name: tailwind-merge dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-breaking-changes ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../lint-configs/eslint-config/package.json | 12 +- internal/tailwind-config/package.json | 2 +- internal/vite-config/package.json | 2 +- package.json | 2 +- packages/@core/base/shared/package.json | 2 +- pnpm-lock.yaml | 603 ++++++++++-------- 6 files changed, 354 insertions(+), 269 deletions(-) diff --git a/internal/lint-configs/eslint-config/package.json b/internal/lint-configs/eslint-config/package.json index 42af36b0..f94e3dc2 100644 --- a/internal/lint-configs/eslint-config/package.json +++ b/internal/lint-configs/eslint-config/package.json @@ -32,14 +32,14 @@ "eslint-plugin-import-x": "^3.1.0" }, "devDependencies": { - "@eslint/js": "^9.8.0", + "@eslint/js": "^9.9.0", "@types/eslint": "^9.6.0", - "@typescript-eslint/eslint-plugin": "^8.0.1", - "@typescript-eslint/parser": "^8.0.1", - "eslint": "^9.8.0", + "@typescript-eslint/eslint-plugin": "^8.1.0", + "@typescript-eslint/parser": "^8.1.0", + "eslint": "^9.9.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-jsdoc": "^50.0.0", + "eslint-plugin-jsdoc": "^50.0.1", "eslint-plugin-jsonc": "^2.16.0", "eslint-plugin-n": "^17.10.2", "eslint-plugin-no-only-tests": "^3.1.0", @@ -47,7 +47,7 @@ "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-regexp": "^2.6.0", "eslint-plugin-unicorn": "^55.0.0", - "eslint-plugin-unused-imports": "^4.1.2", + "eslint-plugin-unused-imports": "^4.1.3", "eslint-plugin-vitest": "^0.5.4", "eslint-plugin-vue": "^9.27.0", "globals": "^15.9.0", diff --git a/internal/tailwind-config/package.json b/internal/tailwind-config/package.json index c7948da1..651387e4 100644 --- a/internal/tailwind-config/package.json +++ b/internal/tailwind-config/package.json @@ -46,7 +46,7 @@ "tailwindcss": "^3.4.3" }, "dependencies": { - "@iconify/json": "^2.2.235", + "@iconify/json": "^2.2.236", "@iconify/tailwind": "^1.1.2", "@tailwindcss/nesting": "0.0.0-insiders.565cd3e", "@tailwindcss/typography": "^0.5.14", diff --git a/internal/vite-config/package.json b/internal/vite-config/package.json index 1cf80716..2cb37c00 100644 --- a/internal/vite-config/package.json +++ b/internal/vite-config/package.json @@ -36,7 +36,7 @@ "resolve.exports": "^2.0.2", "vite-plugin-lib-inject-css": "^2.1.1", "vite-plugin-pwa": "^0.20.1", - "vite-plugin-vue-devtools": "^7.3.7" + "vite-plugin-vue-devtools": "^7.3.8" }, "devDependencies": { "@types/html-minifier-terser": "^7.0.2", diff --git a/package.json b/package.json index 025bad21..33afecee 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@vue/test-utils": "^2.4.6", "autoprefixer": "^10.4.20", "cross-env": "^7.0.3", - "cspell": "^8.13.2", + "cspell": "^8.13.3", "husky": "^9.1.4", "is-ci": "^3.0.1", "jsdom": "^24.1.1", diff --git a/packages/@core/base/shared/package.json b/packages/@core/base/shared/package.json index e57e9f51..a6d15c46 100644 --- a/packages/@core/base/shared/package.json +++ b/packages/@core/base/shared/package.json @@ -61,7 +61,7 @@ "defu": "^6.1.4", "lodash.clonedeep": "^4.5.0", "nprogress": "^0.2.0", - "tailwind-merge": "^2.4.0", + "tailwind-merge": "^2.5.2", "theme-colors": "^0.1.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a34bb76..feb09727 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,8 +71,8 @@ importers: specifier: ^7.0.3 version: 7.0.3 cspell: - specifier: ^8.13.2 - version: 8.13.2 + specifier: ^8.13.3 + version: 8.13.3 husky: specifier: ^9.1.4 version: 9.1.4 @@ -350,68 +350,68 @@ importers: dependencies: eslint-config-turbo: specifier: ^2.0.12 - version: 2.0.12(eslint@9.8.0) + version: 2.0.12(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-command: specifier: ^0.2.3 - version: 0.2.3(eslint@9.8.0) + version: 0.2.3(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-import-x: specifier: ^3.1.0 - version: 3.1.0(eslint@9.8.0)(typescript@5.5.4) + version: 3.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) devDependencies: '@eslint/js': - specifier: ^9.8.0 - version: 9.8.0 + specifier: ^9.9.0 + version: 9.9.0 '@types/eslint': specifier: ^9.6.0 version: 9.6.0 '@typescript-eslint/eslint-plugin': - specifier: ^8.0.1 - version: 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + specifier: ^8.1.0 + version: 8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/parser': - specifier: ^8.0.1 - version: 8.0.1(eslint@9.8.0)(typescript@5.5.4) + specifier: ^8.1.0 + version: 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint: - specifier: ^9.8.0 - version: 9.8.0 + specifier: ^9.9.0 + version: 9.9.0(jiti@1.21.6) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.8.0) + version: 9.1.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-eslint-comments: specifier: ^3.2.0 - version: 3.2.0(eslint@9.8.0) + version: 3.2.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-jsdoc: - specifier: ^50.0.0 - version: 50.0.0(eslint@9.8.0) + specifier: ^50.0.1 + version: 50.0.1(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-jsonc: specifier: ^2.16.0 - version: 2.16.0(eslint@9.8.0) + version: 2.16.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-n: specifier: ^17.10.2 - version: 17.10.2(eslint@9.8.0) + version: 17.10.2(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-no-only-tests: specifier: ^3.1.0 version: 3.1.0 eslint-plugin-perfectionist: specifier: ^3.1.3 - version: 3.1.3(eslint@9.8.0)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.8.0)) + version: 3.1.3(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.8.0))(eslint@9.8.0)(prettier@3.3.3) + version: 5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(prettier@3.3.3) eslint-plugin-regexp: specifier: ^2.6.0 - version: 2.6.0(eslint@9.8.0) + version: 2.6.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-unicorn: specifier: ^55.0.0 - version: 55.0.0(eslint@9.8.0) + version: 55.0.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-unused-imports: - specifier: ^4.1.2 - version: 4.1.2(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0) + specifier: ^4.1.3 + version: 4.1.3(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.3)) + version: 0.5.4(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.3)) eslint-plugin-vue: specifier: ^9.27.0 - version: 9.27.0(eslint@9.8.0) + version: 9.27.0(eslint@9.9.0(jiti@1.21.6)) globals: specifier: ^15.9.0 version: 15.9.0 @@ -420,7 +420,7 @@ importers: version: 2.4.0 vue-eslint-parser: specifier: ^9.4.3 - version: 9.4.3(eslint@9.8.0) + version: 9.4.3(eslint@9.9.0(jiti@1.21.6)) internal/lint-configs/prettier-config: dependencies: @@ -523,8 +523,8 @@ importers: internal/tailwind-config: dependencies: '@iconify/json': - specifier: ^2.2.235 - version: 2.2.235 + specifier: ^2.2.236 + version: 2.2.236 '@iconify/tailwind': specifier: ^1.1.2 version: 1.1.2 @@ -605,8 +605,8 @@ importers: specifier: ^0.20.1 version: 0.20.1(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(workbox-build@7.1.1)(workbox-window@7.1.0) vite-plugin-vue-devtools: - specifier: ^7.3.7 - version: 7.3.7(rollup@4.20.0)(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) + specifier: ^7.3.8 + version: 7.3.8(rollup@4.20.0)(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) devDependencies: '@types/html-minifier-terser': specifier: ^7.0.2 @@ -683,8 +683,8 @@ importers: specifier: ^0.2.0 version: 0.2.0 tailwind-merge: - specifier: ^2.4.0 - version: 2.4.0 + specifier: ^2.5.2 + version: 2.5.2 theme-colors: specifier: ^0.1.0 version: 0.1.0 @@ -2124,28 +2124,28 @@ packages: resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} engines: {node: '>=v18'} - '@cspell/cspell-bundled-dicts@8.13.2': - resolution: {integrity: sha512-BLXah6gUvPeZM8bj1I0F5YJ0CzDZ3d3xpbDCrDB0NfHIsF9zn0la+ie0O15VcVWNBrNIToc6enjxWg1JSF3E5g==} + '@cspell/cspell-bundled-dicts@8.13.3': + resolution: {integrity: sha512-OfCxUBMyayxKyeDaUZG3LQpiyH8MFUbg9nbIZCGh2x8U6N0fHaP9uR6R+gPzdi/bJp32Kr+RC/Yebojd+AQCGA==} engines: {node: '>=18'} - '@cspell/cspell-json-reporter@8.13.2': - resolution: {integrity: sha512-UOINJikJs9tRWc2RrFmXK4s3hpasAIbSq+6ed7NojY/2kYv6u0bHNhh4D+4DAroHcFsU24vl/PeTa9V4Z5CelA==} + '@cspell/cspell-json-reporter@8.13.3': + resolution: {integrity: sha512-QrHxWkm0cfD+rTjFOxm5lpE4+wBANDzMIM8NOeQC6v8Dc1L8PUkm6hF6CsEv2tKmuwvdVr+jy6GilDMkPXalCg==} engines: {node: '>=18'} - '@cspell/cspell-pipe@8.13.2': - resolution: {integrity: sha512-67N6UHaHRc3H9Nl5TKO/r1lCMgnMPQH+scR6aJxHjcwlKLSoNpGF9LiURhmYaItIhfTH4TDfB2hVPzsslRzaWg==} + '@cspell/cspell-pipe@8.13.3': + resolution: {integrity: sha512-6a9Zd+fDltgXoJ0fosWqEMx0UdXBXZ7iakhslMNPRmv7GhVAoHBoIXzMVilOE4kYT2Mh/9NM/QW/NbNEpneZIQ==} engines: {node: '>=18'} - '@cspell/cspell-resolver@8.13.2': - resolution: {integrity: sha512-SCAH4LbV0uFP9ldXB49mRGnAnPCKZV8W96EMHv9Tdh7Fp3btF5FFaVf0h3/ms1g3quzWJq1+EZvJCKCpm9JY5g==} + '@cspell/cspell-resolver@8.13.3': + resolution: {integrity: sha512-vlwtMTEWsPPtWfktzT75eGQ0n+0M+9kN+89eSvUUYdCfvY9XAS6z+bTmhS2ULJgntgWtX6gUjABQK0PYYVedOg==} engines: {node: '>=18'} - '@cspell/cspell-service-bus@8.13.2': - resolution: {integrity: sha512-lKgRzJlCPc4BLlqDjWQgIo0ikX4nQ04M1vu0H3CQjfcwr2PVEGLSlXXyJnA6S3A80WxVXhGehyMBhXzItmpKIQ==} + '@cspell/cspell-service-bus@8.13.3': + resolution: {integrity: sha512-mFkeWXwGQSDxRiN6Kez77GaMNGNgG7T6o9UE42jyXEgf/bLJTpefbUy4fY5pU3p2mA0eoMzmnJX8l+TC5YJpbA==} engines: {node: '>=18'} - '@cspell/cspell-types@8.13.2': - resolution: {integrity: sha512-0QFLcerzBapst1A729VTegeEcsHFK/YfDvOYWUwsZcmPrpacJ8qHmRPVyyFLvN5punXWwB7pIdtbrVRPDQT49w==} + '@cspell/cspell-types@8.13.3': + resolution: {integrity: sha512-lA5GbhLOL6FlKCWNMbooRFgNGfTsM6NJnHz60+EEN7XD9OgpFc7w+MBcK4aHsVCxcrIvnejIc8xQDqPnrdmN3w==} engines: {node: '>=18'} '@cspell/dict-ada@4.0.2': @@ -2169,8 +2169,8 @@ packages: '@cspell/dict-csharp@4.0.2': resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} - '@cspell/dict-css@4.0.12': - resolution: {integrity: sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw==} + '@cspell/dict-css@4.0.13': + resolution: {integrity: sha512-WfOQkqlAJTo8eIQeztaH0N0P+iF5hsJVKFuhy4jmARPISy8Efcv8QXk2/IVbmjJH0/ZV7dKRdnY5JFVXuVz37g==} '@cspell/dict-dart@2.0.3': resolution: {integrity: sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==} @@ -2286,8 +2286,8 @@ packages: '@cspell/dict-scala@5.0.3': resolution: {integrity: sha512-4yGb4AInT99rqprxVNT9TYb1YSpq58Owzq7zi3ZS5T0u899Y4VsxsBiOgHnQ/4W+ygi+sp+oqef8w8nABR2lkg==} - '@cspell/dict-software-terms@4.0.5': - resolution: {integrity: sha512-93knOtaQlWq1Zlz5LbjOl3P3hIiWbhd7kwGZPHVxCdD8+G3UEF9hivkpZ1miK/DzlV/Lcw2RoybOd91Xazc+dg==} + '@cspell/dict-software-terms@4.0.6': + resolution: {integrity: sha512-UDhUzNSf7GN529a0Ip9hlSoGbpscz0YlUYBEJmZBXi8otpkrbCJqs50T74Ppd+SWqNil04De8urv4af2c6SY5Q==} '@cspell/dict-sql@2.1.5': resolution: {integrity: sha512-FmxanytHXss7GAWAXmgaxl3icTCW7YxlimyOSPNfm+njqeUDjw3kEv4mFNDDObBJv8Ec5AWCbUDkWIpkE3IpKg==} @@ -2307,16 +2307,16 @@ packages: '@cspell/dict-vue@3.0.0': resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} - '@cspell/dynamic-import@8.13.2': - resolution: {integrity: sha512-ckn9k7kW9Wv1kw8WltUGByQQzFFR9YITtnDQHHFI8yi9IQkSle4+KHLr9Y8uL6U8rtwP70edX4ese++yfnJr+Q==} + '@cspell/dynamic-import@8.13.3': + resolution: {integrity: sha512-YN83CFWnMkt9B0q0RBadfEoptUaDRqBikh8b91MOQ0haEnUo6t57j4jAaLnbIEP4ynzMhgruWFKpIC/QaEtCuA==} engines: {node: '>=18.0'} - '@cspell/strong-weak-map@8.13.2': - resolution: {integrity: sha512-jVwlZnef8Q/x3MEg5ixRYYfV3BoI5ZOw0UZRianaM1GwsLCIW/mJ7ZIlIQF6N/exE1YWCpyRlCNgvTgUf7fc7w==} + '@cspell/strong-weak-map@8.13.3': + resolution: {integrity: sha512-/QYUEthesPuDarOHa6kcWKJmVq0HIotjPrmAWQ5QpH+dDik1Qin4G/9QdnWX75ueR4DC4WFjBNBU14C4TVSwHQ==} engines: {node: '>=18'} - '@cspell/url@8.13.2': - resolution: {integrity: sha512-IFtiADDLGCp4QXPhsQ0F5/jbVQb0Loeum36wzGLiqXWYDjIA25W8miy0hyy/S8aZhzdEq2aUZjz9dTvkl+5ISQ==} + '@cspell/url@8.13.3': + resolution: {integrity: sha512-hsxoTnZHwtdR2x9QEE6yfDBB1LUwAj67o1GyKTvI8A2OE/AfzAttirZs+9sxgOGWoBdTOxM9sMLtqB3SxtDB3A==} engines: {node: '>=18.0'} '@css-render/plugin-bem@0.15.14': @@ -3220,8 +3220,8 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.8.0': - resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} + '@eslint/js@9.9.0': + resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -3255,8 +3255,8 @@ packages: resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} engines: {node: '>=18.18'} - '@iconify/json@2.2.235': - resolution: {integrity: sha512-8a5r/uIZY3DvJPCkRCMly0BgmsxItMTR6RjGnifQ0kGrLSE7TpdYIfQya9Ckd2qfWjD20WZmWblpFm1FcF6ybQ==} + '@iconify/json@2.2.236': + resolution: {integrity: sha512-eiIOW9RfIMlrJl77+VfM4FM+bF46zQNxanNe8MADgXxNCeFR8LW70bC2u6El5Cqf/gx/n0EmqA5kXQ8J+BHjsg==} '@iconify/tailwind@1.1.2': resolution: {integrity: sha512-ZgToKxxd7zF5T9NXPnY9APRF06ZjFF21H/bINzcbKTdeJzLrNLIoVaoePIUbWVQ2HAac5cAYEHPZO8ILSUe3bQ==} @@ -3925,8 +3925,8 @@ packages: '@types/which@3.0.4': resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} - '@typescript-eslint/eslint-plugin@8.0.1': - resolution: {integrity: sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==} + '@typescript-eslint/eslint-plugin@8.1.0': + resolution: {integrity: sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -3936,8 +3936,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.0.1': - resolution: {integrity: sha512-5IgYJ9EO/12pOUwiBKFkpU7rS3IU21mtXzB81TNwq2xEybcmAZrE9qwDtsb5uQd9aVO9o0fdabFyAmKveXyujg==} + '@typescript-eslint/parser@8.1.0': + resolution: {integrity: sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3954,8 +3954,12 @@ packages: resolution: {integrity: sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.0.1': - resolution: {integrity: sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==} + '@typescript-eslint/scope-manager@8.1.0': + resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.1.0': + resolution: {integrity: sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3971,6 +3975,10 @@ packages: resolution: {integrity: sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.1.0': + resolution: {integrity: sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@7.18.0': resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3989,6 +3997,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.1.0': + resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -4001,6 +4018,12 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils@8.1.0': + resolution: {integrity: sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -4009,6 +4032,10 @@ packages: resolution: {integrity: sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.1.0': + resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vercel/nft@0.26.5': resolution: {integrity: sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==} engines: {node: '>=16'} @@ -4122,16 +4149,19 @@ packages: '@vue/devtools-api@7.3.7': resolution: {integrity: sha512-kvjQ6nmsqTp7SrmpwI2G0MgbC4ys0bPsgQirHXJM8y1m7siQ5RnWQUHJVfyUrHNguCySW1cevAdIw87zrPTl9g==} - '@vue/devtools-core@7.3.7': - resolution: {integrity: sha512-IapWbHUqvO6n+p5JFTCE5JyNjpsZ5IS1GYIRX0P7/SqYPgFCOdH0dG+u8PbBHYdnp+VPxHLO+GGZ/WBZFCZnsA==} + '@vue/devtools-core@7.3.8': + resolution: {integrity: sha512-mEwsR7GMklWuPOBH/++DiJe0GWqQ0syDtWP0HhU8m9tebs5zQtujMXrgu+cgBAKquJAWnBz0PwNzBgBD2P+M9A==} peerDependencies: vue: ^3.4.37 '@vue/devtools-kit@7.3.7': resolution: {integrity: sha512-ktHhhjI4CoUrwdSUF5b/MFfjrtAtK8r4vhOkFyRN5Yp9kdXTwsRBYcwarHuP+wFPKf4/KM7DVBj2ELO8SBwdsw==} - '@vue/devtools-shared@7.3.7': - resolution: {integrity: sha512-M9EU1/bWi5GNS/+IZrAhwGOVZmUTN4MH22Hvh35nUZZg9AZP2R2OhfCb+MG4EtAsrUEYlu3R43/SIj3G7EZYtQ==} + '@vue/devtools-kit@7.3.8': + resolution: {integrity: sha512-HYy3MQP1nZ6GbE4vrgJ/UB+MvZnhYmEwCa/UafrEpdpwa+jNCkz1ZdUrC5I7LpkH1ShREEV2/pZlAQdBj+ncLQ==} + + '@vue/devtools-shared@7.3.8': + resolution: {integrity: sha512-1NiJbn7Yp47nPDWhFZyEKpB2+5/+7JYv8IQnU0ccMrgslPR2dL7u1DIyI7mLqy4HN1ll36gQy0k8GqBYSFgZJw==} '@vue/language-core@2.0.29': resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} @@ -4809,8 +4839,8 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - comment-json@4.2.4: - resolution: {integrity: sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==} + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} engines: {node: '>= 6'} comment-parser@1.4.1: @@ -4963,42 +4993,42 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - cspell-config-lib@8.13.2: - resolution: {integrity: sha512-AkG5qWnmHxwEJqyLsraVVzEWGShICn533GdcbSHYYrLxEd9UromEjmFrMlgNomwj8SnJq4L9xq1LoWgRXa5jjg==} + cspell-config-lib@8.13.3: + resolution: {integrity: sha512-dzVdar8Kenwxho0PnUxOxwjUvyFYn6Q9mQAMHcQNXQrvo32bdpoF+oNtWC/5FfrQgUgyl19CVQ607bRigYWoOQ==} engines: {node: '>=18'} - cspell-dictionary@8.13.2: - resolution: {integrity: sha512-dvtb9fDHw3jEa5mGBmrDTRxlaXVccQ5LMYkosPcS+J5/iLrV0E3iQu3njFHBFXKsLqOwnd6GV9pd6fXkPEFdeQ==} + cspell-dictionary@8.13.3: + resolution: {integrity: sha512-DQ3Tee7LIoy+9Mu52ht32O/MNBZ6i4iUeSTY2sMDDwogno3361BLRyfEjyiYNo3Fqf0Pcnt5MqY2DqIhrF/H/Q==} engines: {node: '>=18'} - cspell-gitignore@8.13.2: - resolution: {integrity: sha512-eEDR0g2VQHVRg9mLXi6PUnjZzD1DYa2jkmiuj61ZEN9yEKZ3GKXlUTxlewIiMGN/fxIn5kHyjeMo+hbCHoYkGw==} + cspell-gitignore@8.13.3: + resolution: {integrity: sha512-0OZXuP33CXV4P95ySHGNqhq3VR5RaLwpyo0nGvLHOjPm3mCsQSjURLBKHvyQ3r2M7LWsGV1Xc81FfTx30FBZLg==} engines: {node: '>=18'} hasBin: true - cspell-glob@8.13.2: - resolution: {integrity: sha512-zhWcfE4k1BVErVd36AMle9DE5W0bxI4OcM7/q3YxPQUdbsox/DihGXGQu+jld2LkUpDl0llIPVJ8OibKg9stcQ==} + cspell-glob@8.13.3: + resolution: {integrity: sha512-+jGIMYyKDLmoOJIxNPXRdI7utcvw+9FMSmj1ApIdEff5dCkehi0gtzK4H7orXGYEvRdKQvfaXiyduVi79rXsZQ==} engines: {node: '>=18'} - cspell-grammar@8.13.2: - resolution: {integrity: sha512-mdRNahGfY7BXg36PQcmeB8WQZETYB6W0A/+yMDgFg+YQX7UdJr8M5GVDFmIFRWyc7/cnv6GMiqdI64gmfCU8ww==} + cspell-grammar@8.13.3: + resolution: {integrity: sha512-xPSgKk9HY5EsI8lkMPC9hiZCeAUs+RY/IVliUBW1xEicAJhP4RZIGRdIwtDNNJGwKfNXazjqYhcS4LS0q7xPAQ==} engines: {node: '>=18'} hasBin: true - cspell-io@8.13.2: - resolution: {integrity: sha512-Jf5LL1TEXPvKH0iabIr8BLK/Hc6crPCdsWM3CbZydp/fDU6rpbaApzSVQ376JlAaLMLpEP7s5oVh9WC4wIE5Bw==} + cspell-io@8.13.3: + resolution: {integrity: sha512-AeMIkz7+4VuJaPKO/v1pUpyUSOOTyLOAfzeTRRAXEt+KRKOUe36MyUmBMza6gzNcX2yD04VgJukRL408TY9ntw==} engines: {node: '>=18'} - cspell-lib@8.13.2: - resolution: {integrity: sha512-qWX4B0Nwo6Souoi8/hLEohSLQEeeh1mWIiQDDJ43w+zmzzzmHZ8+tAeJJ2eAGgOKVqfjcyefH5y7Py2TQrn3xg==} + cspell-lib@8.13.3: + resolution: {integrity: sha512-aEqxIILeqDtNoCa47/oSl5c926b50ue3PobYs4usn0Ymf0434RopCP+DCGsF7BPtog4j4XWnEmvkcJs57DYWDg==} engines: {node: '>=18'} - cspell-trie-lib@8.13.2: - resolution: {integrity: sha512-JYpxU6mN0W9cp5g6QN4TXz0S3zzcmGpVJf1fka7tuWHY1e62Gs0qIIL2LjTHYW9wlRFYyrqPnN5opfwuEZCCMg==} + cspell-trie-lib@8.13.3: + resolution: {integrity: sha512-Z0iLGi9HI+Vf+WhVVeru6dYgQdtaYCKWRlc1SayLfAZhw9BcjrXL8KTXDfAfv/lUgnRu6xwP1isLlDNZECsKVQ==} engines: {node: '>=18'} - cspell@8.13.2: - resolution: {integrity: sha512-m+aA54r95QteZBPzZBR4bdld92TDV47/qoKhYt7+M8umcLZR3C2dfktEbVQGoAJokRgSQo9L4/fRF0skk+g5Mg==} + cspell@8.13.3: + resolution: {integrity: sha512-2wv4Eby7g8wDB553fI8IoZjyitoKrD2kmtdeoYUN2EjVs3RMpIOver3fL+0VaFAaN0uLfAoeAAIB5xJEakvZYQ==} engines: {node: '>=18'} hasBin: true @@ -5561,8 +5591,8 @@ packages: peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 - eslint-plugin-jsdoc@50.0.0: - resolution: {integrity: sha512-czyJ5F7/qY2LIhUD5Bl6q1CCZ8mjvfEA9HQN5nvIp/Pb8VLIlUNd+DMZdA2OKN74QQMS3pobC06hFqAOJyOv5Q==} + eslint-plugin-jsdoc@50.0.1: + resolution: {integrity: sha512-UayhAysIk1Du8InV27WMbV4AMSJSu60+bekmeuGK2OUy4QJSFPr1srYT6AInykGkmMdRuHfDX6Q0tJEr8BtDtg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -5633,8 +5663,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@4.1.2: - resolution: {integrity: sha512-A/Ypb0DQlDEzIbcoAv87NpLLcG3iwlE0gBEpS9Ud/62v2v3CoO15lZ/WfGyo2Wq7YraWJ2aE0TeHgJcpor6KQQ==} + eslint-plugin-unused-imports@4.1.3: + resolution: {integrity: sha512-lqrNZIZjFMUr7P06eoKtQLwyVRibvG7N+LtfKtObYGizAAGrcqLkc3tDx+iAik2z7q0j/XI3ihjupIqxhFabFA==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 eslint: ^9.0.0 || ^8.0.0 @@ -5677,10 +5707,15 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.8.0: - resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} + eslint@9.9.0: + resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -8812,8 +8847,8 @@ packages: resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} engines: {node: '>=10.0.0'} - tailwind-merge@2.4.0: - resolution: {integrity: sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==} + tailwind-merge@2.5.2: + resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} tailwindcss-animate@1.0.7: resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} @@ -9279,8 +9314,8 @@ packages: '@vite-pwa/assets-generator': optional: true - vite-plugin-vue-devtools@7.3.7: - resolution: {integrity: sha512-pPv6YJYrCIlWP+wwRk9gzDp2rK5M5jQ5oz//Nci3C3FDvORL1btKQqGvgthx3hs6xbx5acToJtkMGgDnZg8smw==} + vite-plugin-vue-devtools@7.3.8: + resolution: {integrity: sha512-b5t4wxCb5g5cjh+odNpgnB7iX7gA6FJnKugFqX2/YZX9I4fvMjlj1bUnCKnvPlmwnFxClYgdmgZcCh2RyhZgvw==} engines: {node: '>=v14.21.3'} peerDependencies: vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 @@ -11012,7 +11047,7 @@ snapshots: '@types/conventional-commits-parser': 5.0.0 chalk: 5.3.0 - '@cspell/cspell-bundled-dicts@8.13.2': + '@cspell/cspell-bundled-dicts@8.13.3': dependencies: '@cspell/dict-ada': 4.0.2 '@cspell/dict-aws': 4.0.3 @@ -11021,7 +11056,7 @@ snapshots: '@cspell/dict-cpp': 5.1.12 '@cspell/dict-cryptocurrencies': 5.0.0 '@cspell/dict-csharp': 4.0.2 - '@cspell/dict-css': 4.0.12 + '@cspell/dict-css': 4.0.13 '@cspell/dict-dart': 2.0.3 '@cspell/dict-django': 4.1.0 '@cspell/dict-docker': 1.1.7 @@ -11059,7 +11094,7 @@ snapshots: '@cspell/dict-ruby': 5.0.2 '@cspell/dict-rust': 4.0.5 '@cspell/dict-scala': 5.0.3 - '@cspell/dict-software-terms': 4.0.5 + '@cspell/dict-software-terms': 4.0.6 '@cspell/dict-sql': 2.1.5 '@cspell/dict-svelte': 1.0.2 '@cspell/dict-swift': 2.0.1 @@ -11067,19 +11102,19 @@ snapshots: '@cspell/dict-typescript': 3.1.6 '@cspell/dict-vue': 3.0.0 - '@cspell/cspell-json-reporter@8.13.2': + '@cspell/cspell-json-reporter@8.13.3': dependencies: - '@cspell/cspell-types': 8.13.2 + '@cspell/cspell-types': 8.13.3 - '@cspell/cspell-pipe@8.13.2': {} + '@cspell/cspell-pipe@8.13.3': {} - '@cspell/cspell-resolver@8.13.2': + '@cspell/cspell-resolver@8.13.3': dependencies: global-directory: 4.0.1 - '@cspell/cspell-service-bus@8.13.2': {} + '@cspell/cspell-service-bus@8.13.3': {} - '@cspell/cspell-types@8.13.2': {} + '@cspell/cspell-types@8.13.3': {} '@cspell/dict-ada@4.0.2': {} @@ -11095,7 +11130,7 @@ snapshots: '@cspell/dict-csharp@4.0.2': {} - '@cspell/dict-css@4.0.12': {} + '@cspell/dict-css@4.0.13': {} '@cspell/dict-dart@2.0.3': {} @@ -11175,7 +11210,7 @@ snapshots: '@cspell/dict-scala@5.0.3': {} - '@cspell/dict-software-terms@4.0.5': {} + '@cspell/dict-software-terms@4.0.6': {} '@cspell/dict-sql@2.1.5': {} @@ -11189,13 +11224,13 @@ snapshots: '@cspell/dict-vue@3.0.0': {} - '@cspell/dynamic-import@8.13.2': + '@cspell/dynamic-import@8.13.3': dependencies: import-meta-resolve: 4.1.0 - '@cspell/strong-weak-map@8.13.2': {} + '@cspell/strong-weak-map@8.13.3': {} - '@cspell/url@8.13.2': {} + '@cspell/url@8.13.3': {} '@css-render/plugin-bem@0.15.14(css-render@0.15.14)': dependencies: @@ -11790,9 +11825,9 @@ snapshots: '@esbuild/win32-x64@0.23.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0(jiti@1.21.6))': dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -11819,7 +11854,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.8.0': {} + '@eslint/js@9.9.0': {} '@eslint/object-schema@2.1.4': {} @@ -11851,7 +11886,7 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@iconify/json@2.2.235': + '@iconify/json@2.2.236': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -12615,15 +12650,15 @@ snapshots: '@types/which@3.0.4': {} - '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.0.1(eslint@9.8.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/type-utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.0.1 - eslint: 9.8.0 + '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/type-utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.1.0 + eslint: 9.9.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -12633,14 +12668,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.0.1 + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.1.0 debug: 4.3.6 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -12656,10 +12691,15 @@ snapshots: '@typescript-eslint/types': 8.0.1 '@typescript-eslint/visitor-keys': 8.0.1 - '@typescript-eslint/type-utils@8.0.1(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/scope-manager@8.1.0': dependencies: - '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 + + '@typescript-eslint/type-utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -12672,6 +12712,8 @@ snapshots: '@typescript-eslint/types@8.0.1': {} + '@typescript-eslint/types@8.1.0': {} + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 7.18.0 @@ -12702,24 +12744,50 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.1.0(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.1(eslint@9.8.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.0.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@typescript-eslint/scope-manager': 8.0.1 '@typescript-eslint/types': 8.0.1 '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -12734,6 +12802,11 @@ snapshots: '@typescript-eslint/types': 8.0.1 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.1.0': + dependencies: + '@typescript-eslint/types': 8.1.0 + eslint-visitor-keys: 3.4.3 + '@vercel/nft@0.26.5(encoding@0.1.13)': dependencies: '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) @@ -12928,10 +13001,10 @@ snapshots: dependencies: '@vue/devtools-kit': 7.3.7 - '@vue/devtools-core@7.3.7(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4))': + '@vue/devtools-core@7.3.8(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4))': dependencies: - '@vue/devtools-kit': 7.3.7 - '@vue/devtools-shared': 7.3.7 + '@vue/devtools-kit': 7.3.8 + '@vue/devtools-shared': 7.3.8 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 @@ -12942,7 +13015,7 @@ snapshots: '@vue/devtools-kit@7.3.7': dependencies: - '@vue/devtools-shared': 7.3.7 + '@vue/devtools-shared': 7.3.8 birpc: 0.2.17 hookable: 5.5.3 mitt: 3.0.1 @@ -12950,7 +13023,17 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-shared@7.3.7': + '@vue/devtools-kit@7.3.8': + dependencies: + '@vue/devtools-shared': 7.3.8 + birpc: 0.2.17 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.1 + + '@vue/devtools-shared@7.3.8': dependencies: rfdc: 1.4.1 @@ -13715,7 +13798,7 @@ snapshots: commander@8.3.0: {} - comment-json@4.2.4: + comment-json@4.2.5: dependencies: array-timsort: 1.0.3 core-util-is: 1.0.3 @@ -13860,58 +13943,58 @@ snapshots: crypto-random-string@2.0.0: {} - cspell-config-lib@8.13.2: + cspell-config-lib@8.13.3: dependencies: - '@cspell/cspell-types': 8.13.2 - comment-json: 4.2.4 + '@cspell/cspell-types': 8.13.3 + comment-json: 4.2.5 yaml: 2.5.0 - cspell-dictionary@8.13.2: + cspell-dictionary@8.13.3: dependencies: - '@cspell/cspell-pipe': 8.13.2 - '@cspell/cspell-types': 8.13.2 - cspell-trie-lib: 8.13.2 + '@cspell/cspell-pipe': 8.13.3 + '@cspell/cspell-types': 8.13.3 + cspell-trie-lib: 8.13.3 fast-equals: 5.0.1 - cspell-gitignore@8.13.2: + cspell-gitignore@8.13.3: dependencies: - '@cspell/url': 8.13.2 - cspell-glob: 8.13.2 - cspell-io: 8.13.2 + '@cspell/url': 8.13.3 + cspell-glob: 8.13.3 + cspell-io: 8.13.3 find-up-simple: 1.0.0 - cspell-glob@8.13.2: + cspell-glob@8.13.3: dependencies: - '@cspell/url': 8.13.2 + '@cspell/url': 8.13.3 micromatch: 4.0.7 - cspell-grammar@8.13.2: + cspell-grammar@8.13.3: dependencies: - '@cspell/cspell-pipe': 8.13.2 - '@cspell/cspell-types': 8.13.2 + '@cspell/cspell-pipe': 8.13.3 + '@cspell/cspell-types': 8.13.3 - cspell-io@8.13.2: + cspell-io@8.13.3: dependencies: - '@cspell/cspell-service-bus': 8.13.2 - '@cspell/url': 8.13.2 + '@cspell/cspell-service-bus': 8.13.3 + '@cspell/url': 8.13.3 - cspell-lib@8.13.2: + cspell-lib@8.13.3: dependencies: - '@cspell/cspell-bundled-dicts': 8.13.2 - '@cspell/cspell-pipe': 8.13.2 - '@cspell/cspell-resolver': 8.13.2 - '@cspell/cspell-types': 8.13.2 - '@cspell/dynamic-import': 8.13.2 - '@cspell/strong-weak-map': 8.13.2 - '@cspell/url': 8.13.2 + '@cspell/cspell-bundled-dicts': 8.13.3 + '@cspell/cspell-pipe': 8.13.3 + '@cspell/cspell-resolver': 8.13.3 + '@cspell/cspell-types': 8.13.3 + '@cspell/dynamic-import': 8.13.3 + '@cspell/strong-weak-map': 8.13.3 + '@cspell/url': 8.13.3 clear-module: 4.1.2 - comment-json: 4.2.4 - cspell-config-lib: 8.13.2 - cspell-dictionary: 8.13.2 - cspell-glob: 8.13.2 - cspell-grammar: 8.13.2 - cspell-io: 8.13.2 - cspell-trie-lib: 8.13.2 + comment-json: 4.2.5 + cspell-config-lib: 8.13.3 + cspell-dictionary: 8.13.3 + cspell-glob: 8.13.3 + cspell-grammar: 8.13.3 + cspell-io: 8.13.3 + cspell-trie-lib: 8.13.3 env-paths: 3.0.0 fast-equals: 5.0.1 gensequence: 7.0.0 @@ -13921,27 +14004,27 @@ snapshots: vscode-uri: 3.0.8 xdg-basedir: 5.1.0 - cspell-trie-lib@8.13.2: + cspell-trie-lib@8.13.3: dependencies: - '@cspell/cspell-pipe': 8.13.2 - '@cspell/cspell-types': 8.13.2 + '@cspell/cspell-pipe': 8.13.3 + '@cspell/cspell-types': 8.13.3 gensequence: 7.0.0 - cspell@8.13.2: + cspell@8.13.3: dependencies: - '@cspell/cspell-json-reporter': 8.13.2 - '@cspell/cspell-pipe': 8.13.2 - '@cspell/cspell-types': 8.13.2 - '@cspell/dynamic-import': 8.13.2 - '@cspell/url': 8.13.2 + '@cspell/cspell-json-reporter': 8.13.3 + '@cspell/cspell-pipe': 8.13.3 + '@cspell/cspell-types': 8.13.3 + '@cspell/dynamic-import': 8.13.3 + '@cspell/url': 8.13.3 chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cspell-dictionary: 8.13.2 - cspell-gitignore: 8.13.2 - cspell-glob: 8.13.2 - cspell-io: 8.13.2 - cspell-lib: 8.13.2 + cspell-dictionary: 8.13.3 + cspell-gitignore: 8.13.3 + cspell-glob: 8.13.3 + cspell-io: 8.13.3 + cspell-lib: 8.13.3 fast-glob: 3.3.2 fast-json-stable-stringify: 2.1.0 file-entry-cache: 9.0.0 @@ -14578,19 +14661,19 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.8.0): + eslint-compat-utils@0.5.1(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) semver: 7.6.3 - eslint-config-prettier@9.1.0(eslint@9.8.0): + eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-config-turbo@2.0.12(eslint@9.8.0): + eslint-config-turbo@2.0.12(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 - eslint-plugin-turbo: 2.0.12(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-plugin-turbo: 2.0.12(eslint@9.9.0(jiti@1.21.6)) eslint-import-resolver-node@0.3.9: dependencies: @@ -14600,30 +14683,30 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-command@0.2.3(eslint@9.8.0): + eslint-plugin-command@0.2.3(eslint@9.9.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.43.1 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-es-x@7.8.0(eslint@9.8.0): + eslint-plugin-es-x@7.8.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-eslint-comments@3.2.0(eslint@9.8.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.9.0(jiti@1.21.6)): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) ignore: 5.3.1 - eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.4): + eslint-plugin-import-x@3.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 doctrine: 3.0.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.6 is-glob: 4.0.3 @@ -14635,14 +14718,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.0.0(eslint@9.8.0): + eslint-plugin-jsdoc@50.0.1(eslint@9.9.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.46.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.6 escape-string-regexp: 4.0.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 @@ -14652,23 +14735,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.8.0): + eslint-plugin-jsonc@2.16.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-n@17.10.2(eslint@9.8.0): + eslint-plugin-n@17.10.2(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) enhanced-resolve: 5.17.1 - eslint: 9.8.0 - eslint-plugin-es-x: 7.8.0(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-plugin-es-x: 7.8.0(eslint@9.9.0(jiti@1.21.6)) get-tsconfig: 4.7.6 globals: 15.9.0 ignore: 5.3.1 @@ -14677,53 +14760,53 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@3.1.3(eslint@9.8.0)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.8.0)): + eslint-plugin-perfectionist@3.1.3(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))): dependencies: '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/utils': 8.0.1(eslint@9.8.0)(typescript@5.5.4) - eslint: 9.8.0 + '@typescript-eslint/utils': 8.0.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) minimatch: 10.0.1 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.8.0))(eslint@9.8.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@9.6.0)(eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(prettier@3.3.3): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: '@types/eslint': 9.6.0 - eslint-config-prettier: 9.1.0(eslint@9.8.0) + eslint-config-prettier: 9.1.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-regexp@2.6.0(eslint@9.8.0): + eslint-plugin-regexp@2.6.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-turbo@2.0.12(eslint@9.8.0): + eslint-plugin-turbo@2.0.12(eslint@9.9.0(jiti@1.21.6)): dependencies: dotenv: 16.0.3 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-unicorn@55.0.0(eslint@9.8.0): + eslint-plugin-unicorn@55.0.0(eslint@9.9.0(jiti@1.21.6)): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -14736,33 +14819,33 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.2(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0): + eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.3)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@22.2.0)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.3)): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4) - eslint: 9.8.0 + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) vitest: 2.0.5(@types/node@22.2.0)(jsdom@24.1.1)(sass@1.77.8)(terser@5.31.3) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-vue@9.27.0(eslint@9.8.0): + eslint-plugin-vue@9.27.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - eslint: 9.8.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.9.0(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.1 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -14781,13 +14864,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.8.0: + eslint@9.9.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.8.0 + '@eslint/js': 9.9.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -14817,6 +14900,8 @@ snapshots: optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color @@ -18093,7 +18178,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwind-merge@2.4.0: {} + tailwind-merge@2.5.2: {} tailwindcss-animate@1.0.7(tailwindcss@3.4.9): dependencies: @@ -18645,11 +18730,11 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.3.7(rollup@4.20.0)(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)): + vite-plugin-vue-devtools@7.3.8(rollup@4.20.0)(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)): dependencies: - '@vue/devtools-core': 7.3.7(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) - '@vue/devtools-kit': 7.3.7 - '@vue/devtools-shared': 7.3.7 + '@vue/devtools-core': 7.3.8(vite@5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3))(vue@3.4.37(typescript@5.5.4)) + '@vue/devtools-kit': 7.3.8 + '@vue/devtools-shared': 7.3.8 execa: 8.0.1 sirv: 2.0.4 vite: 5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3) @@ -18669,7 +18754,7 @@ snapshots: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2) - '@vue/compiler-dom': 3.4.36 + '@vue/compiler-dom': 3.4.37 kolorist: 1.8.0 magic-string: 0.30.11 vite: 5.4.0(@types/node@22.2.0)(sass@1.77.8)(terser@5.31.3) @@ -18784,10 +18869,10 @@ snapshots: dependencies: vue: 3.4.37(typescript@5.5.4) - vue-eslint-parser@9.4.3(eslint@9.8.0): + vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6)): dependencies: debug: 4.3.6 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1