Vue Test Utilsを使用

This commit is contained in:
takejohn 2025-01-13 22:57:56 +09:00
parent fdbde37a5e
commit 07cc554d6f
No known key found for this signature in database
GPG Key ID: F1A5A9BF81BB4892
3 changed files with 98 additions and 76 deletions

View File

@ -112,6 +112,7 @@
"@typescript-eslint/parser": "7.17.0",
"@vitest/coverage-v8": "1.6.0",
"@vue/runtime-core": "3.5.12",
"@vue/test-utils": "^2.4.6",
"acorn": "8.14.0",
"cross-env": "7.0.3",
"cypress": "13.15.2",

View File

@ -1,11 +1,12 @@
import MkAsUi from '@/components/MkAsUi.vue';
import { fireEvent, render } from '@testing-library/vue';
import { components as globalComponents } from '@/components/index.js';
import { directives } from '@/directives/index.js';
import { assert, describe, expect, test, vi } from 'vitest';
import { describe, expect, test, vi } from 'vitest';
import { ComponentProps } from 'vue-component-type-helpers';
import { AsUiComponent } from '@/scripts/aiscript/ui.js';
import { ref } from 'vue';
import { shallowMount } from '@vue/test-utils';
import MkButton from '@/components/MkButton.vue';
describe('MkAsUi', () => {
function renderComponent<C extends AsUiComponent>(
@ -14,7 +15,7 @@ describe('MkAsUi', () => {
) {
const componentRef = ref(component);
const componentsRef = ref([componentRef]);
const mkAsUi = render(MkAsUi, {
const wrapper = shallowMount(MkAsUi, {
props: {
component: componentRef.value,
components: componentsRef.value,
@ -22,31 +23,29 @@ describe('MkAsUi', () => {
},
global: { directives, components: globalComponents },
});
return { mkAsUi, component };
return { wrapper, component };
}
test('root', async () => {
const { mkAsUi } = renderComponent({
const { wrapper } = renderComponent({
type: 'root',
id: 'id',
children: [],
});
const element = mkAsUi.baseElement;
assert(element instanceof HTMLElement);
expect(element.innerText).toBe('');
expect(wrapper.text()).toBe('');
});
test('text', async () => {
const { mkAsUi } = renderComponent({
const { wrapper } = renderComponent({
type: 'text',
id: 'id',
text: 'Hello, world!',
});
expect(mkAsUi.queryByText('Hello, world!')).toBeTruthy();
expect(wrapper.text()).toBe('Hello, world!');
});
test('mfm', async () => {
const { component, mkAsUi } = renderComponent({
const { component, wrapper } = renderComponent({
type: 'mfm',
id: 'id',
text: '$[clickable.ev=evId Click me!]',
@ -54,23 +53,23 @@ describe('MkAsUi', () => {
expect(evId).toBe('evId');
}),
});
await fireEvent.click(mkAsUi.getByText('Click me!'));
wrapper.findComponent(globalComponents.Mfm).vm.$emit('clickEv', 'evId');
expect(component.onClickEv).toHaveBeenCalledOnce();
});
test('button', async () => {
const { component, mkAsUi } = renderComponent({
const { component, wrapper } = renderComponent({
type: 'button',
id: 'id',
text: 'Click me!',
onClick: vi.fn(),
});
await fireEvent.click(mkAsUi.getByText('Click me!'));
wrapper.findComponent(MkButton).vm.$emit('click');
expect(component.onClick).toHaveBeenCalledOnce();
});
test('buttons', async () => {
const { component, mkAsUi } = renderComponent({
const { component, wrapper } = renderComponent({
type: 'buttons',
id: 'id',
buttons: [
@ -84,9 +83,15 @@ describe('MkAsUi', () => {
},
],
});
await fireEvent.click(mkAsUi.getByText('left'));
expect(component.buttons[0].onClick).toHaveBeenCalledOnce();
await fireEvent.click(mkAsUi.getByText('right'));
const buttons = wrapper.findAllComponents(MkButton);
expect(buttons.length).toBe(2);
const leftButton = buttons[0];
leftButton.vm.$emit('click');
expect(component.buttons[0].onClick).toHaveBeenCalledOnce();
const rightButton = buttons[1];
rightButton.vm.$emit('click');
expect(component.buttons[1].onClick).toHaveBeenCalledOnce();
});
});

View File

@ -142,7 +142,7 @@ importers:
version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)
'@nestjs/testing':
specifier: 10.4.7
version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)
version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))
'@peertube/http-signature':
specifier: 1.7.0
version: 1.7.0
@ -922,7 +922,7 @@ importers:
version: 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.4))(vite@5.4.11(@types/node@22.9.0)(sass@1.79.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
version: 8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))
'@types/canvas-confetti':
specifier: ^1.6.4
version: 1.6.4
@ -971,6 +971,9 @@ importers:
'@vue/runtime-core':
specifier: 3.5.12
version: 3.5.12
'@vue/test-utils':
specifier: ^2.4.6
version: 2.4.6
acorn:
specifier: 8.14.0
version: 8.14.0
@ -1133,7 +1136,7 @@ importers:
version: 5.1.0
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
version: 8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))
'@types/estree':
specifier: 1.0.6
version: 1.0.6
@ -1163,7 +1166,7 @@ importers:
version: 7.17.0(eslint@9.14.0)(typescript@5.6.3)
'@vitest/coverage-v8':
specifier: 1.6.0
version: 1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0))
version: 1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0))
'@vue/runtime-core':
specifier: 3.5.12
version: 3.5.12
@ -4860,14 +4863,8 @@ packages:
'@vue/shared@3.5.12':
resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
'@vue/test-utils@2.4.1':
resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==}
peerDependencies:
'@vue/server-renderer': ^3.0.1
vue: ^3.0.1
peerDependenciesMeta:
'@vue/server-renderer':
optional: true
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
'@webgpu/types@0.1.30':
resolution: {integrity: sha512-9AXJSmL3MzY8ZL//JjudA//q+2kBRGhLBFpkdGksWIuxrMy81nFrCzj2Am+mbh8WoU6rXmv7cY5E3rdlyru2Qg==}
@ -10936,9 +10933,6 @@ packages:
typescript:
optional: true
vue-component-type-helpers@1.8.4:
resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==}
vue-component-type-helpers@2.0.16:
resolution: {integrity: sha512-qisL/iAfdO++7w+SsfYQJVPj6QKvxp4i1MMxvsNO41z/8zu3KuAw9LkhKUfP/kcOWGDxESp+pQObWppXusejCA==}
@ -11786,7 +11780,7 @@ snapshots:
'@babel/traverse': 7.23.5
'@babel/types': 7.24.7
convert-source-map: 2.0.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@ -11806,7 +11800,7 @@ snapshots:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
convert-source-map: 2.0.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@ -12065,7 +12059,7 @@ snapshots:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.25.6
'@babel/types': 7.24.7
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -12080,7 +12074,7 @@ snapshots:
'@babel/helper-split-export-declaration': 7.24.7
'@babel/parser': 7.25.6
'@babel/types': 7.25.6
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -12471,7 +12465,7 @@ snapshots:
'@eslint/config-array@0.18.0':
dependencies:
'@eslint/object-schema': 2.1.4
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -12481,7 +12475,7 @@ snapshots:
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
espree: 10.3.0
globals: 14.0.0
ignore: 5.3.1
@ -13186,7 +13180,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@nestjs/testing@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)':
'@nestjs/testing@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))':
dependencies:
'@nestjs/common': 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1)
'@nestjs/core': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)
@ -14814,16 +14808,14 @@ snapshots:
dependencies:
'@testing-library/dom': 10.4.0
'@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
'@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))':
dependencies:
'@babel/runtime': 7.23.4
'@testing-library/dom': 9.3.4
'@vue/test-utils': 2.4.1(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
'@vue/test-utils': 2.4.6
vue: 3.5.12(typescript@5.6.3)
optionalDependencies:
'@vue/compiler-sfc': 3.5.12
transitivePeerDependencies:
- '@vue/server-renderer'
'@tokenizer/token@0.3.0': {}
@ -15270,7 +15262,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.6.3)
'@typescript-eslint/utils': 7.1.0(eslint@9.14.0)(typescript@5.6.3)
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
eslint: 9.14.0
ts-api-utils: 1.0.1(typescript@5.6.3)
optionalDependencies:
@ -15282,7 +15274,7 @@ snapshots:
dependencies:
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
'@typescript-eslint/utils': 7.17.0(eslint@9.14.0)(typescript@5.6.3)
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
eslint: 9.14.0
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
@ -15298,7 +15290,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
@ -15313,7 +15305,7 @@ snapshots:
dependencies:
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/visitor-keys': 7.17.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
@ -15390,7 +15382,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0))':
'@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0))':
dependencies:
'@ampproject/remapping': 2.2.1
'@bcoe/v8-coverage': 0.2.3
@ -15405,7 +15397,7 @@ snapshots:
std-env: 3.7.0
strip-literal: 2.1.0
test-exclude: 6.0.0
vitest: 1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0)
vitest: 1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0)
transitivePeerDependencies:
- supports-color
@ -15594,13 +15586,10 @@ snapshots:
'@vue/shared@3.5.12': {}
'@vue/test-utils@2.4.1(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))':
'@vue/test-utils@2.4.6':
dependencies:
js-beautify: 1.14.9
vue: 3.5.12(typescript@5.6.3)
vue-component-type-helpers: 1.8.4
optionalDependencies:
'@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3))
vue-component-type-helpers: 2.1.10
'@webgpu/types@0.1.30': {}
@ -15643,14 +15632,14 @@ snapshots:
agent-base@6.0.2:
dependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
optional: true
agent-base@7.1.0:
dependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
@ -17254,7 +17243,7 @@ snapshots:
esbuild-register@3.5.0(esbuild@0.24.0):
dependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
esbuild: 0.24.0
transitivePeerDependencies:
- supports-color
@ -17496,7 +17485,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
escape-string-regexp: 4.0.0
eslint-scope: 8.2.0
eslint-visitor-keys: 4.2.0
@ -17941,7 +17930,7 @@ snapshots:
follow-redirects@1.15.9(debug@4.3.7):
optionalDependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
for-each@0.3.3:
dependencies:
@ -18411,7 +18400,7 @@ snapshots:
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
@ -18450,7 +18439,7 @@ snapshots:
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
optional: true
@ -18458,14 +18447,14 @@ snapshots:
https-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.5:
dependencies:
agent-base: 7.1.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
@ -18811,7 +18800,7 @@ snapshots:
istanbul-lib-source-maps@4.0.1:
dependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@ -18820,7 +18809,7 @@ snapshots:
istanbul-lib-source-maps@5.0.4:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
istanbul-lib-coverage: 3.2.2
transitivePeerDependencies:
- supports-color
@ -19221,6 +19210,35 @@ snapshots:
jsdoc-type-pratt-parser@4.1.0: {}
jsdom@24.1.1:
dependencies:
cssstyle: 4.0.1
data-urls: 5.0.0
decimal.js: 10.4.3
form-data: 4.0.1
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.5
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.12
parse5: 7.2.1
rrweb-cssom: 0.7.1
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 4.1.4
w3c-xmlserializer: 5.0.0
webidl-conversions: 7.0.0
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
whatwg-url: 14.0.0
ws: 8.18.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
optional: true
jsdom@24.1.1(bufferutil@4.0.7)(utf-8-validate@6.0.3):
dependencies:
cssstyle: 4.0.1
@ -19913,7 +19931,7 @@ snapshots:
micromark@4.0.0:
dependencies:
'@types/debug': 4.1.12
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
@ -21373,7 +21391,7 @@ snapshots:
require-in-the-middle@7.3.0:
dependencies:
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
module-details-from-path: 1.0.3
resolve: 1.22.8
transitivePeerDependencies:
@ -21798,7 +21816,7 @@ snapshots:
socks-proxy-agent@8.0.2:
dependencies:
agent-base: 7.1.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
socks: 2.7.1
transitivePeerDependencies:
- supports-color
@ -21907,7 +21925,7 @@ snapshots:
arg: 5.0.2
bluebird: 3.7.2
check-more-types: 2.24.0
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
execa: 5.1.1
lazy-ass: 1.6.0
ps-tree: 1.2.0
@ -22654,7 +22672,7 @@ snapshots:
vite-node@1.6.0(@types/node@22.9.0)(sass@1.79.3)(terser@5.36.0):
dependencies:
cac: 6.7.14
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
pathe: 1.1.2
picocolors: 1.0.1
vite: 5.4.11(@types/node@22.9.0)(sass@1.79.3)(terser@5.36.0)
@ -22672,7 +22690,7 @@ snapshots:
vite-node@1.6.0(@types/node@22.9.0)(sass@1.79.4)(terser@5.36.0):
dependencies:
cac: 6.7.14
debug: 4.3.7(supports-color@8.1.1)
debug: 4.3.7(supports-color@5.5.0)
pathe: 1.1.2
picocolors: 1.0.1
vite: 5.4.11(@types/node@22.9.0)(sass@1.79.4)(terser@5.36.0)
@ -22754,7 +22772,7 @@ snapshots:
- supports-color
- terser
vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0):
vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0):
dependencies:
'@vitest/expect': 1.6.0
'@vitest/runner': 1.6.0
@ -22779,7 +22797,7 @@ snapshots:
optionalDependencies:
'@types/node': 22.9.0
happy-dom: 10.0.3
jsdom: 24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)
jsdom: 24.1.1
transitivePeerDependencies:
- less
- lightningcss
@ -22824,8 +22842,6 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
vue-component-type-helpers@1.8.4: {}
vue-component-type-helpers@2.0.16: {}
vue-component-type-helpers@2.1.10: {}