From 438d05de6516803dba4add1bf6032999d2dee763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Za=C5=84?= Date: Wed, 4 Feb 2026 12:47:12 +0100 Subject: [PATCH] Bumped vitest. --- package.json | 13 +- pnpm-lock.yaml | 507 +++++++----------- scripts-tests/vitest.config.mjs | 5 +- tests/ckeditor.test.tsx | 5 - tests/context/ckeditorcontext.test.tsx | 10 - .../useInitializedCKEditorsMap.test.tsx | 6 +- tests/index.test.tsx | 7 +- .../LifeCycleElementSemaphore.test.tsx | 2 - .../useLifeCycleSemaphoreSyncRef.test.tsx | 7 +- tests/useMultiRootEditor.test.tsx | 5 - vite.config.ts | 8 +- 11 files changed, 220 insertions(+), 355 deletions(-) diff --git a/package.json b/package.json index 6f605bf..5717094 100644 --- a/package.json +++ b/package.json @@ -46,10 +46,11 @@ "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "@vitest/coverage-istanbul": "^3.2.4", - "@vitest/coverage-v8": "^3.2.4", - "@vitest/ui": "^3.2.4", + "@vitest/browser": "^4.0.18", + "@vitest/browser-webdriverio": "^4.0.18", + "@vitest/coverage-istanbul": "^4.0.18", + "@vitest/coverage-v8": "^4.0.18", + "@vitest/ui": "^4.0.18", "ckeditor5": "^46.0.0", "ckeditor5-premium-features": "^46.0.0", "eslint": "^9.38.0", @@ -77,7 +78,7 @@ "typescript-eslint": "^8.46.2", "upath": "^2.0.1", "vite": "^7.1.9", - "vitest": "^3.2.4", + "vitest": "^4.0.18", "webdriverio": "^9.12.7" }, "engines": { @@ -124,4 +125,4 @@ "eslint --quiet" ] } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index faf0fa2..7ca7e8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,17 +50,20 @@ importers: specifier: ^5.0.4 version: 5.1.0(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1)) '@vitest/browser': - specifier: ^3.2.4 - version: 3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2) + specifier: ^4.0.18 + version: 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18) + '@vitest/browser-webdriverio': + specifier: ^4.0.18 + version: 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.19.2) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.0.18 + version: 4.0.18(vitest@4.0.18) '@vitest/coverage-v8': - specifier: ^3.2.4 - version: 3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4) + specifier: ^4.0.18 + version: 4.0.18(@vitest/browser@4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18) '@vitest/ui': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.0.18 + version: 4.0.18(vitest@4.0.18) ckeditor5: specifier: ^46.0.0 version: 46.1.1 @@ -143,8 +146,8 @@ importers: specifier: ^7.1.9 version: 7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1) vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + specifier: ^4.0.18 + version: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) webdriverio: specifier: ^9.12.7 version: 9.19.2 @@ -154,10 +157,6 @@ packages: '@adobe/css-tools@4.4.4': resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - '@aws-crypto/crc32@5.2.0': resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} engines: {node: '>=16.0.0'} @@ -321,10 +320,6 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} @@ -337,11 +332,6 @@ packages: resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.4': - resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.28.5': resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} @@ -1683,6 +1673,9 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@stylistic/eslint-plugin@4.4.1': resolution: {integrity: sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1715,12 +1708,6 @@ packages: '@types/react-dom': optional: true - '@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' - '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -1921,68 +1908,64 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - '@vitest/browser@3.2.4': - resolution: {integrity: sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==} + '@vitest/browser-webdriverio@4.0.18': + resolution: {integrity: sha512-dKn4kBq6gFk+wT5DMjPTvivXptz9MaN7CONoP+bA0bZxWofNsZtf9R4oPwQakuB95WBQ3j5kZ/9SXvB9i+XYQw==} peerDependencies: - playwright: '*' - safaridriver: '*' - vitest: 3.2.4 - webdriverio: ^7.0.0 || ^8.0.0 || ^9.0.0 - peerDependenciesMeta: - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true + vitest: 4.0.18 + webdriverio: '*' - '@vitest/coverage-istanbul@3.2.4': - resolution: {integrity: sha512-IDlpuFJiWU9rhcKLkpzj8mFu/lpe64gVgnV15ZOrYx1iFzxxrxCzbExiUEKtwwXRvEiEMUS6iZeYgnMxgbqbxQ==} + '@vitest/browser@4.0.18': + resolution: {integrity: sha512-gVQqh7paBz3gC+ZdcCmNSWJMk70IUjDeVqi+5m5vYpEHsIwRgw3Y545jljtajhkekIpIp5Gg8oK7bctgY0E2Ng==} peerDependencies: - vitest: 3.2.4 + vitest: 4.0.18 - '@vitest/coverage-v8@3.2.4': - resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} + '@vitest/coverage-istanbul@4.0.18': + resolution: {integrity: sha512-0OhjP30owEDihYTZGWuq20rNtV1RjjJs1Mv4MaZIKcFBmiLUXX7HJLX4fU7wE+Mrc3lQxI2HKq6WrSXi5FGuCQ==} peerDependencies: - '@vitest/browser': 3.2.4 - vitest: 3.2.4 + vitest: 4.0.18 + + '@vitest/coverage-v8@4.0.18': + resolution: {integrity: sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==} + peerDependencies: + '@vitest/browser': 4.0.18 + vitest: 4.0.18 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - '@vitest/ui@3.2.4': - resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} + '@vitest/ui@4.0.18': + resolution: {integrity: sha512-CGJ25bc8fRi8Lod/3GHSvXRKi7nBo3kxh0ApW4yCjmrWmRmlT53B5E08XRSZRliygG0aVNxLrBEqPYdz/KcCtQ==} peerDependencies: - vitest: 3.2.4 + vitest: 4.0.18 - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} '@wdio/config@9.19.2': resolution: {integrity: sha512-OVCzPQxav0QDk5rktQ6LYARZ5ueUuJXIqTXUpS3A9Jt6PF+ZUI5sbO/y+z+qHQXqDq+LkscmFsmkzgnoHzHcfg==} @@ -2199,16 +2182,12 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} - ast-v8-to-istanbul@0.3.8: - resolution: {integrity: sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==} + ast-v8-to-istanbul@0.3.11: + resolution: {integrity: sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw==} astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -2339,10 +2318,6 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - cacache@19.0.1: resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -2384,8 +2359,8 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@5.3.3: - resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} chalk@4.1.2: @@ -2408,10 +2383,6 @@ packages: chardet@2.1.0: resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -2705,10 +2676,6 @@ packages: dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -3616,10 +3583,6 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - istanbul-reports@3.2.0: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} @@ -3643,12 +3606,12 @@ packages: resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.2: resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true @@ -3814,9 +3777,6 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.2.1: - resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -3839,11 +3799,11 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string@0.30.19: - resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -4231,6 +4191,9 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -4334,10 +4297,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.1: - resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} - engines: {node: '>= 14.16'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -4356,12 +4315,20 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pixelmatch@7.1.0: + resolution: {integrity: sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==} + hasBin: true + please-upgrade-node@3.2.0: resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} plural-forms@0.5.5: resolution: {integrity: sha512-rJw4xp22izsfJOVqta5Hyvep2lR3xPkFUtj7dyQtpf/FbxUiX7PQCajTn2EHDRylizH5N/Uqqodfdu22I0ju+g==} + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} + pofile@1.1.4: resolution: {integrity: sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==} @@ -5101,9 +5068,6 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -5182,9 +5146,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@3.1.0: - resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} - strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} @@ -5264,10 +5225,6 @@ packages: engines: {node: '>=10'} hasBin: true - test-exclude@7.0.1: - resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} - engines: {node: '>=18'} - text-decoder@1.2.3: resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} @@ -5280,23 +5237,16 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - - tinyspy@4.0.4: - resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} tldts-core@7.0.17: @@ -5484,11 +5434,6 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - vite@7.1.12: resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5529,26 +5474,32 @@ packages: yaml: optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': optional: true '@vitest/ui': optional: true @@ -5752,11 +5703,6 @@ snapshots: '@adobe/css-tools@4.4.4': {} - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 @@ -6137,7 +6083,7 @@ snapshots: '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 @@ -6201,8 +6147,6 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.27.1': {} - '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-option@7.27.1': {} @@ -6212,10 +6156,6 @@ snapshots: '@babel/template': 7.27.2 '@babel/types': 7.28.5 - '@babel/parser@7.28.4': - dependencies: - '@babel/types': 7.28.5 - '@babel/parser@7.28.5': dependencies: '@babel/types': 7.28.5 @@ -6412,6 +6352,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.1.1 '@ckeditor/ckeditor5-widget': 46.1.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-cloud-services@46.1.1': dependencies: @@ -6535,7 +6477,7 @@ snapshots: '@ckeditor/ckeditor5-dev-translations@54.2.0(@babel/core@7.28.4)(typescript@5.9.3)(webpack@5.101.3)': dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/traverse': 7.28.4 '@ckeditor/ckeditor5-dev-utils': 54.2.0(@babel/core@7.28.4)(typescript@5.9.3)(webpack@5.101.3) glob: 13.0.0 @@ -6735,6 +6677,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.1.1 '@ckeditor/ckeditor5-utils': 46.1.1 ckeditor5: 46.1.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-export-word@46.1.1': dependencies: @@ -6885,6 +6829,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.1.1 '@ckeditor/ckeditor5-utils': 46.1.1 ckeditor5: 46.1.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-indent@46.1.1': dependencies: @@ -7009,6 +6955,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 46.1.1 ckeditor5: 46.1.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-merge-fields@46.1.1': dependencies: @@ -7021,6 +6969,8 @@ snapshots: '@ckeditor/ckeditor5-widget': 46.1.1 ckeditor5: 46.1.1 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-minimap@46.1.1': dependencies: @@ -7164,6 +7114,8 @@ snapshots: '@ckeditor/ckeditor5-ui': 46.1.1 '@ckeditor/ckeditor5-utils': 46.1.1 ckeditor5: 46.1.1 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-source-editing-enhanced@46.1.1': dependencies: @@ -8475,6 +8427,8 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} + '@standard-schema/spec@1.1.0': {} + '@stylistic/eslint-plugin@4.4.1(eslint@9.38.0(jiti@2.5.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.5.1))(typescript@5.9.3) @@ -8519,10 +8473,6 @@ snapshots: '@types/react': 18.3.24 '@types/react-dom': 18.3.7(@types/react@18.3.24) - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': - dependencies: - '@testing-library/dom': 10.4.1 - '@tootallnate/quickjs-emscripten@0.23.0': {} '@tufjs/canonical-json@2.0.0': {} @@ -8787,115 +8737,116 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/browser@3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2)': + '@vitest/browser-webdriverio@4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.19.2)': dependencies: - '@testing-library/dom': 10.4.1 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1)) - '@vitest/utils': 3.2.4 - magic-string: 0.30.19 + '@vitest/browser': 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18) + vitest: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + webdriverio: 9.19.2 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser@4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18)': + dependencies: + '@vitest/mocker': 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1)) + '@vitest/utils': 4.0.18 + magic-string: 0.30.21 + pixelmatch: 7.1.0 + pngjs: 7.0.0 sirv: 3.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + tinyrainbow: 3.0.3 + vitest: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) ws: 8.18.3 - optionalDependencies: - webdriverio: 9.19.2 transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/coverage-istanbul@3.2.4(vitest@3.2.4)': + '@vitest/coverage-istanbul@4.0.18(vitest@4.0.18)': dependencies: '@istanbuljs/schema': 0.1.3 - debug: 4.4.3(supports-color@8.1.1) + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 istanbul-lib-coverage: 3.2.2 istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 - magicast: 0.3.5 - test-exclude: 7.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + magicast: 0.5.1 + obug: 2.1.1 + tinyrainbow: 3.0.3 + vitest: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4)': + '@vitest/coverage-v8@4.0.18(@vitest/browser@4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18)': dependencies: - '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 - ast-v8-to-istanbul: 0.3.8 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/utils': 4.0.18 + ast-v8-to-istanbul: 0.3.11 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 - magic-string: 0.30.19 - magicast: 0.3.5 + magicast: 0.5.1 + obug: 2.1.1 std-env: 3.10.0 - test-exclude: 7.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + tinyrainbow: 3.0.3 + vitest: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) optionalDependencies: - '@vitest/browser': 3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2) - transitivePeerDependencies: - - supports-color + '@vitest/browser': 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18) - '@vitest/expect@3.2.4': + '@vitest/expect@4.0.18': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - tinyrainbow: 2.0.0 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + chai: 6.2.2 + tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))': + '@vitest/mocker@4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 - magic-string: 0.30.19 + magic-string: 0.30.21 optionalDependencies: msw: 2.11.2(@types/node@24.5.0)(typescript@5.9.3) vite: 7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@4.0.18': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 - '@vitest/runner@3.2.4': + '@vitest/runner@4.0.18': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.0.18 pathe: 2.0.3 - strip-literal: 3.1.0 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@4.0.18': dependencies: - '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.19 + '@vitest/pretty-format': 4.0.18 + magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.4': - dependencies: - tinyspy: 4.0.4 + '@vitest/spy@4.0.18': {} - '@vitest/ui@3.2.4(vitest@3.2.4)': + '@vitest/ui@4.0.18(vitest@4.0.18)': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.0.18 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.2 tinyglobby: 0.2.15 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) + tinyrainbow: 3.0.3 + vitest: 4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1) - '@vitest/utils@3.2.4': + '@vitest/utils@4.0.18': dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.1 - tinyrainbow: 2.0.0 + '@vitest/pretty-format': 4.0.18 + tinyrainbow: 3.0.3 '@wdio/config@9.19.2': dependencies: @@ -9194,17 +9145,15 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - assertion-error@2.0.1: {} - ast-types@0.13.4: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@0.3.8: + ast-v8-to-istanbul@0.3.11: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 - js-tokens: 9.0.1 + js-tokens: 10.0.0 astral-regex@2.0.0: {} @@ -9316,8 +9265,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - cac@6.7.14: {} - cacache@19.0.1: dependencies: '@npmcli/fs': 4.0.0 @@ -9381,13 +9328,7 @@ snapshots: ccount@2.0.1: {} - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 + chai@6.2.2: {} chalk@4.1.2: dependencies: @@ -9404,8 +9345,6 @@ snapshots: chardet@2.1.0: {} - check-error@2.1.1: {} - cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -9803,8 +9742,6 @@ snapshots: dedent@0.7.0: {} - deep-eql@5.0.2: {} - deep-is@0.1.4: {} deepmerge-ts@7.1.5: {} @@ -10922,14 +10859,6 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 @@ -10962,9 +10891,9 @@ snapshots: jiti@2.5.1: {} - js-tokens@4.0.0: {} + js-tokens@10.0.0: {} - js-tokens@9.0.1: {} + js-tokens@4.0.0: {} js-yaml@3.14.2: dependencies: @@ -11140,8 +11069,6 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.2.1: {} - lru-cache@10.4.3: {} lru-cache@11.2.1: {} @@ -11156,11 +11083,11 @@ snapshots: lz-string@1.5.0: {} - magic-string@0.30.19: + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.3.5: + magicast@0.5.1: dependencies: '@babel/parser': 7.28.5 '@babel/types': 7.28.5 @@ -11812,6 +11739,8 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 + obug@2.1.1: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -11947,8 +11876,6 @@ snapshots: pathe@2.0.3: {} - pathval@2.0.1: {} - pend@1.2.0: {} picocolors@1.1.1: {} @@ -11959,12 +11886,18 @@ snapshots: pify@2.3.0: {} + pixelmatch@7.1.0: + dependencies: + pngjs: 7.0.0 + please-upgrade-node@3.2.0: dependencies: semver-compare: 1.0.0 plural-forms@0.5.5: {} + pngjs@7.0.0: {} + pofile@1.1.4: {} possible-typed-array-names@1.1.0: {} @@ -12820,8 +12753,6 @@ snapshots: std-env@3.10.0: {} - std-env@3.9.0: {} - stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -12934,10 +12865,6 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@3.1.0: - dependencies: - js-tokens: 9.0.1 - strnum@1.1.2: {} strnum@2.1.1: {} @@ -13023,12 +12950,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - test-exclude@7.0.1: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 10.5.0 - minimatch: 9.0.5 - text-decoder@1.2.3: dependencies: b4a: 1.7.1 @@ -13043,18 +12964,14 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.2: {} + tinyexec@1.0.2: {} tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} - - tinyspy@4.0.4: {} + tinyrainbow@3.0.3: {} tldts-core@7.0.17: optional: true @@ -13260,27 +13177,6 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1): dependencies: esbuild: 0.25.9 @@ -13296,36 +13192,32 @@ snapshots: terser: 5.44.0 yaml: 2.8.1 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.5.0)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1): + vitest@4.0.18(@types/node@24.5.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(jiti@2.5.1)(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(terser@5.44.0)(yaml@2.8.1): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + es-module-lexer: 1.7.0 expect-type: 1.2.2 - magic-string: 0.30.19 + magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.9.0 + std-env: 3.10.0 tinybench: 2.9.0 - tinyexec: 0.3.2 + tinyexec: 1.0.2 tinyglobby: 0.2.15 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 vite: 7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 '@types/node': 24.5.0 - '@vitest/browser': 3.2.4(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.19.2) - '@vitest/ui': 3.2.4(vitest@3.2.4) + '@vitest/browser-webdriverio': 4.0.18(msw@2.11.2(@types/node@24.5.0)(typescript@5.9.3))(vite@7.1.12(@types/node@24.5.0)(jiti@2.5.1)(terser@5.44.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.19.2) + '@vitest/ui': 4.0.18(vitest@4.0.18) transitivePeerDependencies: - jiti - less @@ -13335,7 +13227,6 @@ snapshots: - sass-embedded - stylus - sugarss - - supports-color - terser - tsx - yaml diff --git a/scripts-tests/vitest.config.mjs b/scripts-tests/vitest.config.mjs index c911e83..b858fcd 100644 --- a/scripts-tests/vitest.config.mjs +++ b/scripts-tests/vitest.config.mjs @@ -8,8 +8,11 @@ import { defineConfig } from 'vitest/config'; export default defineConfig( { test: { testTimeout: 10000, - mockReset: true, restoreMocks: true, + clearMocks: true, + mockReset: true, + unstubEnvs: true, + unstubGlobals: true, include: [ 'scripts-tests/**/*.@(js|mjs|cjs)' ], diff --git a/tests/ckeditor.test.tsx b/tests/ckeditor.test.tsx index a669993..125c319 100644 --- a/tests/ckeditor.test.tsx +++ b/tests/ckeditor.test.tsx @@ -39,11 +39,6 @@ describe( ' Component', () => { } ); afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - vi.unstubAllEnvs(); - vi.unstubAllGlobals(); - component?.unmount(); manager.clear(); diff --git a/tests/context/ckeditorcontext.test.tsx b/tests/context/ckeditorcontext.test.tsx index 16f41d4..09bbeda 100644 --- a/tests/context/ckeditorcontext.test.tsx +++ b/tests/context/ckeditorcontext.test.tsx @@ -28,11 +28,6 @@ describe( ' Component', () => { let component: RenderResult | null = null; afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - vi.unstubAllEnvs(); - vi.unstubAllGlobals(); - component?.unmount(); manager.clear(); } ); @@ -889,11 +884,6 @@ describe( 'EditorWatchdogAdapter', () => { let component: RenderResult | null = null; afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - vi.unstubAllEnvs(); - vi.unstubAllGlobals(); - component?.unmount(); manager.clear(); } ); diff --git a/tests/context/useInitializedCKEditorsMap.test.tsx b/tests/context/useInitializedCKEditorsMap.test.tsx index 086e23b..99a3fc7 100644 --- a/tests/context/useInitializedCKEditorsMap.test.tsx +++ b/tests/context/useInitializedCKEditorsMap.test.tsx @@ -3,7 +3,7 @@ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ -import { describe, it, expect, vi, afterEach } from 'vitest'; +import { describe, it, expect, vi } from 'vitest'; import { renderHook } from '@testing-library/react'; import { Collection } from 'ckeditor5'; @@ -15,10 +15,6 @@ import type { CKEditorConfigContextMetadata } from '../../src/context/setCKEdito import MockEditor from '../_utils/editor.js'; describe( 'useInitializedCKEditorsMap', () => { - afterEach( () => { - vi.clearAllMocks(); - } ); - it( 'should not call onChangeInitializedEditors when context is not initialized', () => { const onChangeInitializedEditors = vi.fn(); const mockWatchdog = { diff --git a/tests/index.test.tsx b/tests/index.test.tsx index b126296..d978ba9 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -3,7 +3,7 @@ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ -import { describe, afterEach, it, expect, vi } from 'vitest'; +import { describe, afterEach, it, expect } from 'vitest'; import React from 'react'; import { ContextWatchdog } from 'ckeditor5'; import { render, type RenderResult } from '@testing-library/react'; @@ -19,11 +19,6 @@ describe( 'index.js', () => { let component: RenderResult | null = null; afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - vi.unstubAllEnvs(); - vi.unstubAllGlobals(); - component?.unmount(); manager.clear(); } ); diff --git a/tests/lifecycle/LifeCycleElementSemaphore.test.tsx b/tests/lifecycle/LifeCycleElementSemaphore.test.tsx index 7782974..b60ab5f 100644 --- a/tests/lifecycle/LifeCycleElementSemaphore.test.tsx +++ b/tests/lifecycle/LifeCycleElementSemaphore.test.tsx @@ -28,8 +28,6 @@ describe( 'LifeCycleElementSemaphore', () => { afterEach( () => { semaphore.release(); - vi.restoreAllMocks(); - vi.clearAllTimers(); } ); it( 'should initialize with correct values', () => { diff --git a/tests/lifecycle/useLifeCycleSemaphoreSyncRef.test.tsx b/tests/lifecycle/useLifeCycleSemaphoreSyncRef.test.tsx index e44e55b..34f1da5 100644 --- a/tests/lifecycle/useLifeCycleSemaphoreSyncRef.test.tsx +++ b/tests/lifecycle/useLifeCycleSemaphoreSyncRef.test.tsx @@ -3,7 +3,7 @@ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ -import { it, describe, expect, vi, beforeEach, afterEach } from 'vitest'; +import { it, describe, expect, vi, beforeEach } from 'vitest'; import { renderHook, act } from '@testing-library/react'; import { LifeCycleElementSemaphore } from '../../src/lifecycle/LifeCycleElementSemaphore.js'; @@ -19,11 +19,6 @@ describe( 'useLifeCycleSemaphoreSyncRef', () => { } ); } ); - afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - } ); - it( 'should initialize with null semaphore', () => { const { result } = renderHook( () => useLifeCycleSemaphoreSyncRef() ); diff --git a/tests/useMultiRootEditor.test.tsx b/tests/useMultiRootEditor.test.tsx index 91fd0dd..cc24bb0 100644 --- a/tests/useMultiRootEditor.test.tsx +++ b/tests/useMultiRootEditor.test.tsx @@ -55,11 +55,6 @@ describe( 'useMultiRootEditor', () => { } ); afterEach( () => { - vi.restoreAllMocks(); - vi.clearAllTimers(); - vi.unstubAllEnvs(); - vi.unstubAllGlobals(); - editorProps.semaphoreElement = null; } ); diff --git a/vite.config.ts b/vite.config.ts index 941b6ed..515e226 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,6 +5,7 @@ import { resolve } from 'node:path'; import { defineConfig } from 'vitest/config'; +import { webdriverio } from '@vitest/browser-webdriverio'; import react from '@vitejs/plugin-react'; import pkg from './package.json' with { type: 'json' }; @@ -46,6 +47,11 @@ export default defineConfig( { // https://vitest.dev/config/ test: { + restoreMocks: true, + clearMocks: true, + mockReset: true, + unstubEnvs: true, + unstubGlobals: true, setupFiles: [ './vitest-setup.ts' ], include: [ 'tests/**/*.test.[j|t]sx' @@ -71,7 +77,7 @@ export default defineConfig( { browser: { enabled: true, headless: true, - provider: 'webdriverio', + provider: webdriverio(), screenshotFailures: false, instances: [ { browser: 'chrome' }