[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
12

Configure Feed

Select the types of activity you want to include in your feed.

chore(deps): update dependency jsdom to v27 (#8700)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vladimir Sheremet <sleuths.slews0s@icloud.com>

authored by

renovate[bot]
renovate[bot]
Vladimir Sheremet
and committed by
GitHub
(Nov 6, 2025, 3:05 PM +0100) 46b3529a f98bfb4a

+54 -250
+21 -235
pnpm-lock.yaml
··· 403 403 specifier: ^5.6.1 404 404 version: 5.6.1 405 405 jsdom: 406 - specifier: ^26.1.0 407 - version: 26.1.0 406 + specifier: ^27.1.0 407 + version: 27.1.0(postcss@8.5.6) 408 408 react: 409 409 specifier: ^19.2.0 410 410 version: 19.2.0 ··· 1018 1018 specifier: 'catalog:' 1019 1019 version: 3.0.4 1020 1020 '@types/jsdom': 1021 - specifier: ^21.1.7 1022 - version: 21.1.7 1021 + specifier: ^27.0.0 1022 + version: 27.0.0 1023 1023 '@types/node': 1024 1024 specifier: ^22.19.0 1025 1025 version: 22.19.0 ··· 1051 1051 specifier: ^20.0.10 1052 1052 version: 20.0.10 1053 1053 jsdom: 1054 - specifier: ^26.1.0 1055 - version: 26.1.0 1054 + specifier: ^27.1.0 1055 + version: 27.1.0(postcss@8.5.6) 1056 1056 local-pkg: 1057 1057 specifier: ^1.1.2 1058 1058 version: 1.1.2 ··· 1646 1646 engines: {node: '>=10'} 1647 1647 peerDependencies: 1648 1648 ajv: '>=8' 1649 - 1650 - '@asamuzakjp/css-color@2.8.2': 1651 - resolution: {integrity: sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==} 1652 1649 1653 1650 '@asamuzakjp/css-color@4.0.4': 1654 1651 resolution: {integrity: sha512-cKjSKvWGmAziQWbCouOsFwb14mp1betm8Y7Fn+yglDMUUu3r9DCbJ9iJbeFDenLMqFbIMC0pQP8K+B8LAxX3OQ==} ··· 2263 2260 '@clack/prompts@0.11.0': 2264 2261 resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} 2265 2262 2266 - '@csstools/color-helpers@5.0.1': 2267 - resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==} 2268 - engines: {node: '>=18'} 2269 - 2270 2263 '@csstools/color-helpers@5.1.0': 2271 2264 resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} 2272 2265 engines: {node: '>=18'} 2273 - 2274 - '@csstools/css-calc@2.1.1': 2275 - resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==} 2276 - engines: {node: '>=18'} 2277 - peerDependencies: 2278 - '@csstools/css-parser-algorithms': ^3.0.4 2279 - '@csstools/css-tokenizer': ^3.0.3 2280 2266 2281 2267 '@csstools/css-calc@2.1.4': 2282 2268 resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} ··· 2285 2271 '@csstools/css-parser-algorithms': ^3.0.5 2286 2272 '@csstools/css-tokenizer': ^3.0.4 2287 2273 2288 - '@csstools/css-color-parser@3.0.7': 2289 - resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==} 2290 - engines: {node: '>=18'} 2291 - peerDependencies: 2292 - '@csstools/css-parser-algorithms': ^3.0.4 2293 - '@csstools/css-tokenizer': ^3.0.3 2294 - 2295 2274 '@csstools/css-color-parser@3.1.0': 2296 2275 resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} 2297 2276 engines: {node: '>=18'} 2298 2277 peerDependencies: 2299 2278 '@csstools/css-parser-algorithms': ^3.0.5 2300 2279 '@csstools/css-tokenizer': ^3.0.4 2301 - 2302 - '@csstools/css-parser-algorithms@3.0.4': 2303 - resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} 2304 - engines: {node: '>=18'} 2305 - peerDependencies: 2306 - '@csstools/css-tokenizer': ^3.0.3 2307 2280 2308 2281 '@csstools/css-parser-algorithms@3.0.5': 2309 2282 resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} ··· 2316 2289 engines: {node: '>=18'} 2317 2290 peerDependencies: 2318 2291 postcss: ^8.4 2319 - 2320 - '@csstools/css-tokenizer@3.0.3': 2321 - resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} 2322 - engines: {node: '>=18'} 2323 2292 2324 2293 '@csstools/css-tokenizer@3.0.4': 2325 2294 resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} ··· 3025 2994 '@mswjs/interceptors@0.40.0': 3026 2995 resolution: {integrity: sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ==} 3027 2996 engines: {node: '>=18'} 3028 - 3029 - '@napi-rs/wasm-runtime@1.0.5': 3030 - resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==} 3031 2997 3032 2998 '@napi-rs/wasm-runtime@1.0.7': 3033 2999 resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} ··· 4070 4036 '@types/istanbul-reports@3.0.4': 4071 4037 resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} 4072 4038 4073 - '@types/jsdom@21.1.7': 4074 - resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} 4039 + '@types/jsdom@27.0.0': 4040 + resolution: {integrity: sha512-NZyFl/PViwKzdEkQg96gtnB8wm+1ljhdDay9ahn4hgb+SfVtPCbm3TlmDUFXTA+MGN3CijicnMhG18SI5H3rFw==} 4075 4041 4076 4042 '@types/json-schema@7.0.15': 4077 4043 resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} ··· 5254 5220 engines: {node: '>=4'} 5255 5221 hasBin: true 5256 5222 5257 - cssstyle@4.2.1: 5258 - resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==} 5259 - engines: {node: '>=18'} 5260 - 5261 5223 cssstyle@5.3.2: 5262 5224 resolution: {integrity: sha512-zDMqXh8Vs1CdRYZQ2M633m/SFgcjlu8RB8b/1h82i+6vpArF507NSYIWJHGlJaTWoS+imcnctmEz43txhbVkOw==} 5263 5225 engines: {node: '>=20'} ··· 5322 5284 resolution: {integrity: sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==} 5323 5285 engines: {node: '>= 14'} 5324 5286 5325 - data-urls@5.0.0: 5326 - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} 5327 - engines: {node: '>=18'} 5328 - 5329 5287 data-urls@6.0.0: 5330 5288 resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==} 5331 5289 engines: {node: '>=20'} ··· 5374 5332 decamelize@6.0.0: 5375 5333 resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} 5376 5334 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 5377 - 5378 - decimal.js@10.5.0: 5379 - resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} 5380 5335 5381 5336 decimal.js@10.6.0: 5382 5337 resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} ··· 6763 6718 resolution: {integrity: sha512-F9GQ+F1ZU6qvSrZV8fNFpjDNf614YzR2eF6S0+XbDjAcUI28FSoXnYZFjQmb1kFx3rrJb5PnxUH3/Yti6fcM+g==} 6764 6719 engines: {node: '>=12.0.0'} 6765 6720 6766 - jsdom@26.1.0: 6767 - resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} 6768 - engines: {node: '>=18'} 6769 - peerDependencies: 6770 - canvas: ^3.0.0 6771 - peerDependenciesMeta: 6772 - canvas: 6773 - optional: true 6774 - 6775 6721 jsdom@27.1.0: 6776 6722 resolution: {integrity: sha512-Pcfm3eZ+eO4JdZCXthW9tCDT3nF4K+9dmeZ+5X39n+Kqz0DDIABRP5CAEOHRFZk8RGuC2efksTJxrjp8EXCunQ==} 6777 6723 engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} ··· 7003 6949 lru-cache@10.2.2: 7004 6950 resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} 7005 6951 engines: {node: 14 || >=16.14} 7006 - 7007 - lru-cache@11.2.1: 7008 - resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==} 7009 - engines: {node: 20 || >=22} 7010 6952 7011 6953 lru-cache@11.2.2: 7012 6954 resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} ··· 7405 7347 nth-check@2.1.1: 7406 7348 resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 7407 7349 7408 - nwsapi@2.2.16: 7409 - resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} 7410 - 7411 7350 nypm@0.3.8: 7412 7351 resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} 7413 7352 engines: {node: ^14.16.0 || >=16.10.0} ··· 7571 7510 7572 7511 parse5-parser-stream@7.1.2: 7573 7512 resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} 7574 - 7575 - parse5@7.2.1: 7576 - resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} 7577 7513 7578 7514 parse5@7.3.0: 7579 7515 resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} ··· 8014 7950 resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} 8015 7951 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 8016 7952 hasBin: true 8017 - 8018 - rrweb-cssom@0.8.0: 8019 - resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} 8020 7953 8021 7954 run-applescript@7.0.0: 8022 7955 resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} ··· 8631 8564 resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} 8632 8565 engines: {node: '>=14.0.0'} 8633 8566 8634 - tldts-core@6.1.48: 8635 - resolution: {integrity: sha512-3gD9iKn/n2UuFH1uilBviK9gvTNT6iYwdqrj1Vr5mh8FuelvpRNaYVH4pNYqUgOGU4aAdL9X35eLuuj0gRsx+A==} 8636 - 8637 8567 tldts-core@7.0.13: 8638 8568 resolution: {integrity: sha512-Td0LeWLgXJGsikI4mO82fRexgPCEyTcwWiXJERF/GBHX3Dm+HQq/wx4HnYowCbiwQ8d+ENLZc+ktbZw8H+0oEA==} 8639 - 8640 - tldts@6.1.48: 8641 - resolution: {integrity: sha512-SPbnh1zaSzi/OsmHb1vrPNnYuwJbdWjwo5TbBYYMlTtH3/1DSb41t8bcSxkwDmmbG2q6VLPVvQc7Yf23T+1EEw==} 8642 - hasBin: true 8643 8569 8644 8570 tldts@7.0.13: 8645 8571 resolution: {integrity: sha512-z/SgnxiICGb7Gli0z7ci9BZdjy1tQORUbdmzEUA7NbIJKWhdONn78Ji8gV0PAGfHPyEd+I+W2rMzhLjWkv2Olg==} ··· 8671 8597 resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} 8672 8598 engines: {node: '>=6'} 8673 8599 8674 - tough-cookie@5.1.2: 8675 - resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} 8676 - engines: {node: '>=16'} 8677 - 8678 8600 tough-cookie@6.0.0: 8679 8601 resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} 8680 8602 engines: {node: '>=16'} 8681 8603 8682 8604 tr46@1.0.1: 8683 8605 resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 8684 - 8685 - tr46@5.1.0: 8686 - resolution: {integrity: sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==} 8687 - engines: {node: '>=18'} 8688 8606 8689 8607 tr46@6.0.0: 8690 8608 resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} ··· 9224 9142 webidl-conversions@4.0.2: 9225 9143 resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 9226 9144 9227 - webidl-conversions@7.0.0: 9228 - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 9229 - engines: {node: '>=12'} 9230 - 9231 9145 webidl-conversions@8.0.0: 9232 9146 resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==} 9233 9147 engines: {node: '>=20'} ··· 9245 9159 9246 9160 whatwg-mimetype@4.0.0: 9247 9161 resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} 9248 - engines: {node: '>=18'} 9249 - 9250 - whatwg-url@14.2.0: 9251 - resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} 9252 9162 engines: {node: '>=18'} 9253 9163 9254 9164 whatwg-url@15.1.0: ··· 9368 9278 9369 9279 wrappy@1.0.2: 9370 9280 resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 9371 - 9372 - ws@8.18.2: 9373 - resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} 9374 - engines: {node: '>=10.0.0'} 9375 - peerDependencies: 9376 - bufferutil: ^4.0.1 9377 - utf-8-validate: '>=5.0.2' 9378 - peerDependenciesMeta: 9379 - bufferutil: 9380 - optional: true 9381 - utf-8-validate: 9382 - optional: true 9383 9281 9384 9282 ws@8.18.3: 9385 9283 resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} ··· 9561 9459 jsonpointer: 5.0.1 9562 9460 leven: 3.1.0 9563 9461 9564 - '@asamuzakjp/css-color@2.8.2': 9565 - dependencies: 9566 - '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 9567 - '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 9568 - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 9569 - '@csstools/css-tokenizer': 3.0.3 9570 - lru-cache: 11.2.1 9571 - 9572 9462 '@asamuzakjp/css-color@4.0.4': 9573 9463 dependencies: 9574 9464 '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) ··· 9661 9551 9662 9552 '@babel/helper-annotate-as-pure@7.27.3': 9663 9553 dependencies: 9664 - '@babel/types': 7.28.4 9554 + '@babel/types': 7.28.5 9665 9555 9666 9556 '@babel/helper-compilation-targets@7.27.0': 9667 9557 dependencies: ··· 9715 9605 '@babel/helper-member-expression-to-functions@7.27.1': 9716 9606 dependencies: 9717 9607 '@babel/traverse': 7.28.4 9718 - '@babel/types': 7.28.4 9608 + '@babel/types': 7.28.5 9719 9609 transitivePeerDependencies: 9720 9610 - supports-color 9721 9611 ··· 9753 9643 9754 9644 '@babel/helper-optimise-call-expression@7.27.1': 9755 9645 dependencies: 9756 - '@babel/types': 7.28.4 9646 + '@babel/types': 7.28.5 9757 9647 9758 9648 '@babel/helper-plugin-utils@7.27.1': {} 9759 9649 ··· 9778 9668 '@babel/helper-skip-transparent-expression-wrappers@7.27.1': 9779 9669 dependencies: 9780 9670 '@babel/traverse': 7.28.4 9781 - '@babel/types': 7.28.4 9671 + '@babel/types': 7.28.5 9782 9672 transitivePeerDependencies: 9783 9673 - supports-color 9784 9674 ··· 9796 9686 dependencies: 9797 9687 '@babel/template': 7.27.2 9798 9688 '@babel/traverse': 7.28.4 9799 - '@babel/types': 7.28.4 9689 + '@babel/types': 7.28.5 9800 9690 transitivePeerDependencies: 9801 9691 - supports-color 9802 9692 ··· 10054 9944 '@babel/core': 7.28.4 10055 9945 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) 10056 9946 '@babel/helper-plugin-utils': 7.27.1 10057 - '@babel/helper-validator-identifier': 7.27.1 9947 + '@babel/helper-validator-identifier': 7.28.5 10058 9948 '@babel/traverse': 7.28.4 10059 9949 transitivePeerDependencies: 10060 9950 - supports-color ··· 10304 10194 dependencies: 10305 10195 '@babel/core': 7.28.4 10306 10196 '@babel/helper-plugin-utils': 7.27.1 10307 - '@babel/types': 7.28.4 10197 + '@babel/types': 7.28.5 10308 10198 esutils: 2.0.3 10309 10199 10310 10200 '@babel/runtime@7.26.0': ··· 10393 10283 picocolors: 1.1.1 10394 10284 sisteransi: 1.0.5 10395 10285 10396 - '@csstools/color-helpers@5.0.1': {} 10397 - 10398 10286 '@csstools/color-helpers@5.1.0': {} 10399 - 10400 - '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': 10401 - dependencies: 10402 - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 10403 - '@csstools/css-tokenizer': 3.0.3 10404 - 10405 - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': 10406 - dependencies: 10407 - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 10408 - '@csstools/css-tokenizer': 3.0.3 10409 10287 10410 10288 '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': 10411 10289 dependencies: 10412 10290 '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) 10413 10291 '@csstools/css-tokenizer': 3.0.4 10414 - 10415 - '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': 10416 - dependencies: 10417 - '@csstools/color-helpers': 5.0.1 10418 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 10419 - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 10420 - '@csstools/css-tokenizer': 3.0.3 10421 10292 10422 10293 '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': 10423 10294 dependencies: ··· 10426 10297 '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) 10427 10298 '@csstools/css-tokenizer': 3.0.4 10428 10299 10429 - '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': 10430 - dependencies: 10431 - '@csstools/css-tokenizer': 3.0.3 10432 - 10433 10300 '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': 10434 10301 dependencies: 10435 10302 '@csstools/css-tokenizer': 3.0.4 ··· 10437 10304 '@csstools/css-syntax-patches-for-csstree@1.0.14(postcss@8.5.6)': 10438 10305 dependencies: 10439 10306 postcss: 8.5.6 10440 - 10441 - '@csstools/css-tokenizer@3.0.3': {} 10442 10307 10443 10308 '@csstools/css-tokenizer@3.0.4': {} 10444 10309 ··· 10997 10862 outvariant: 1.4.3 10998 10863 strict-event-emitter: 0.5.1 10999 10864 11000 - '@napi-rs/wasm-runtime@1.0.5': 11001 - dependencies: 11002 - '@emnapi/core': 1.5.0 11003 - '@emnapi/runtime': 1.5.0 11004 - '@tybys/wasm-util': 0.10.1 11005 - optional: true 11006 - 11007 10865 '@napi-rs/wasm-runtime@1.0.7': 11008 10866 dependencies: 11009 10867 '@emnapi/core': 1.5.0 ··· 11108 10966 11109 10967 '@oxc-minify/binding-wasm32-wasi@0.82.3': 11110 10968 dependencies: 11111 - '@napi-rs/wasm-runtime': 1.0.5 10969 + '@napi-rs/wasm-runtime': 1.0.7 11112 10970 optional: true 11113 10971 11114 10972 '@oxc-minify/binding-wasm32-wasi@0.96.0': ··· 11852 11710 dependencies: 11853 11711 '@types/istanbul-lib-report': 3.0.3 11854 11712 11855 - '@types/jsdom@21.1.7': 11713 + '@types/jsdom@27.0.0': 11856 11714 dependencies: 11857 11715 '@types/node': 22.19.0 11858 11716 '@types/tough-cookie': 4.0.5 11859 - parse5: 7.2.1 11717 + parse5: 7.3.0 11860 11718 11861 11719 '@types/json-schema@7.0.15': {} 11862 11720 ··· 11940 11798 11941 11799 '@types/yauzl@2.10.3': 11942 11800 dependencies: 11943 - '@types/node': 20.19.24 11801 + '@types/node': 22.19.0 11944 11802 optional: true 11945 11803 11946 11804 '@typescript-eslint/eslint-plugin@8.44.0(@typescript-eslint/parser@8.44.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': ··· 13252 13110 13253 13111 cssesc@3.0.0: {} 13254 13112 13255 - cssstyle@4.2.1: 13256 - dependencies: 13257 - '@asamuzakjp/css-color': 2.8.2 13258 - rrweb-cssom: 0.8.0 13259 - 13260 13113 cssstyle@5.3.2(postcss@8.5.6): 13261 13114 dependencies: 13262 13115 '@asamuzakjp/css-color': 4.0.4 ··· 13324 13177 13325 13178 data-uri-to-buffer@5.0.1: {} 13326 13179 13327 - data-urls@5.0.0: 13328 - dependencies: 13329 - whatwg-mimetype: 4.0.0 13330 - whatwg-url: 14.2.0 13331 - 13332 13180 data-urls@6.0.0: 13333 13181 dependencies: 13334 13182 whatwg-mimetype: 4.0.0 ··· 13367 13215 ms: 2.1.3 13368 13216 13369 13217 decamelize@6.0.0: {} 13370 - 13371 - decimal.js@10.5.0: {} 13372 13218 13373 13219 decimal.js@10.6.0: {} 13374 13220 ··· 15012 14858 15013 14859 jsdoc-type-pratt-parser@5.4.0: {} 15014 14860 15015 - jsdom@26.1.0: 15016 - dependencies: 15017 - cssstyle: 4.2.1 15018 - data-urls: 5.0.0 15019 - decimal.js: 10.5.0 15020 - html-encoding-sniffer: 4.0.0 15021 - http-proxy-agent: 7.0.2 15022 - https-proxy-agent: 7.0.6 15023 - is-potential-custom-element-name: 1.0.1 15024 - nwsapi: 2.2.16 15025 - parse5: 7.2.1 15026 - rrweb-cssom: 0.8.0 15027 - saxes: 6.0.0 15028 - symbol-tree: 3.2.4 15029 - tough-cookie: 5.1.2 15030 - w3c-xmlserializer: 5.0.0 15031 - webidl-conversions: 7.0.0 15032 - whatwg-encoding: 3.1.1 15033 - whatwg-mimetype: 4.0.0 15034 - whatwg-url: 14.2.0 15035 - ws: 8.18.2 15036 - xml-name-validator: 5.0.0 15037 - transitivePeerDependencies: 15038 - - bufferutil 15039 - - supports-color 15040 - - utf-8-validate 15041 - 15042 14861 jsdom@27.1.0(postcss@8.5.6): 15043 14862 dependencies: 15044 14863 '@acemir/cssom': 0.9.19 ··· 15267 15086 15268 15087 lru-cache@10.2.2: {} 15269 15088 15270 - lru-cache@11.2.1: {} 15271 - 15272 15089 lru-cache@11.2.2: {} 15273 15090 15274 15091 lru-cache@5.1.1: ··· 15293 15110 15294 15111 magicast@0.3.5: 15295 15112 dependencies: 15296 - '@babel/parser': 7.28.4 15297 - '@babel/types': 7.28.4 15113 + '@babel/parser': 7.28.5 15114 + '@babel/types': 7.28.5 15298 15115 source-map-js: 1.2.1 15299 15116 optional: true 15300 15117 ··· 15832 15649 dependencies: 15833 15650 boolbase: 1.0.0 15834 15651 15835 - nwsapi@2.2.16: {} 15836 - 15837 15652 nypm@0.3.8: 15838 15653 dependencies: 15839 15654 citty: 0.1.6 ··· 16096 15911 parse5-parser-stream@7.1.2: 16097 15912 dependencies: 16098 15913 parse5: 7.3.0 16099 - 16100 - parse5@7.2.1: 16101 - dependencies: 16102 - entities: 4.5.0 16103 15914 16104 15915 parse5@7.3.0: 16105 15916 dependencies: ··· 16574 16385 '@rollup/rollup-win32-x64-gnu': 4.52.5 16575 16386 '@rollup/rollup-win32-x64-msvc': 4.52.5 16576 16387 fsevents: 2.3.3 16577 - 16578 - rrweb-cssom@0.8.0: {} 16579 16388 16580 16389 run-applescript@7.0.0: {} 16581 16390 ··· 17283 17092 17284 17093 tinyspy@4.0.4: {} 17285 17094 17286 - tldts-core@6.1.48: {} 17287 - 17288 17095 tldts-core@7.0.13: {} 17289 - 17290 - tldts@6.1.48: 17291 - dependencies: 17292 - tldts-core: 6.1.48 17293 17096 17294 17097 tldts@7.0.13: 17295 17098 dependencies: ··· 17313 17116 17314 17117 totalist@3.0.0: {} 17315 17118 17316 - tough-cookie@5.1.2: 17317 - dependencies: 17318 - tldts: 6.1.48 17319 - 17320 17119 tough-cookie@6.0.0: 17321 17120 dependencies: 17322 17121 tldts: 7.0.13 17323 17122 17324 17123 tr46@1.0.1: 17325 - dependencies: 17326 - punycode: 2.3.1 17327 - 17328 - tr46@5.1.0: 17329 17124 dependencies: 17330 17125 punycode: 2.3.1 17331 17126 ··· 17983 17778 17984 17779 webidl-conversions@4.0.2: {} 17985 17780 17986 - webidl-conversions@7.0.0: {} 17987 - 17988 17781 webidl-conversions@8.0.0: {} 17989 17782 17990 17783 webpack-virtual-modules@0.6.2: {} ··· 17996 17789 whatwg-mimetype@3.0.0: {} 17997 17790 17998 17791 whatwg-mimetype@4.0.0: {} 17999 - 18000 - whatwg-url@14.2.0: 18001 - dependencies: 18002 - tr46: 5.1.0 18003 - webidl-conversions: 7.0.0 18004 17792 18005 17793 whatwg-url@15.1.0: 18006 17794 dependencies: ··· 18229 18017 strip-ansi: 7.1.0 18230 18018 18231 18019 wrappy@1.0.2: {} 18232 - 18233 - ws@8.18.2: {} 18234 18020 18235 18021 ws@8.18.3: {} 18236 18022
+1 -1
examples/projects/package.json
··· 16 16 "@vitejs/plugin-react": "^5.1.0", 17 17 "@vitest/ui": "latest", 18 18 "fastify": "^5.6.1", 19 - "jsdom": "^26.1.0", 19 + "jsdom": "^27.1.0", 20 20 "react": "^19.2.0", 21 21 "supertest": "^6.3.4", 22 22 "tsx": "^4.20.6",
+2 -2
packages/vitest/package.json
··· 203 203 "@types/estree": "catalog:", 204 204 "@types/istanbul-lib-coverage": "catalog:", 205 205 "@types/istanbul-reports": "catalog:", 206 - "@types/jsdom": "^21.1.7", 206 + "@types/jsdom": "^27.0.0", 207 207 "@types/node": "^22.19.0", 208 208 "@types/picomatch": "^4.0.2", 209 209 "@types/prompts": "^2.4.9", ··· 214 214 "empathic": "^2.0.0", 215 215 "flatted": "catalog:", 216 216 "happy-dom": "^20.0.10", 217 - "jsdom": "^26.1.0", 217 + "jsdom": "^27.1.0", 218 218 "local-pkg": "^1.1.2", 219 219 "mime": "^4.1.0", 220 220 "prompts": "^2.4.2",
+2 -2
test/core/test/web-worker-node.test.ts
··· 221 221 }) 222 222 223 223 function sendEventMessage(worker: SharedWorker, msg: any) { 224 - worker.port.postMessage(msg) 225 224 return new Promise<string>((resolve, reject) => { 226 225 const timeout = setTimeout(() => { 227 226 reject(new Error(`Failed to send the message ${msg} to the SharedWorker.`)) ··· 231 230 clearTimeout(timeout) 232 231 resolve(e.data as string) 233 232 }) 233 + worker.port.postMessage(msg) 234 234 }) 235 235 } 236 236 237 237 function sendOnMessage(worker: SharedWorker, msg: any) { 238 - worker.port.postMessage(msg) 239 238 return new Promise<string>((resolve, reject) => { 240 239 const timeout = setTimeout(() => { 241 240 reject(new Error(`Failed to send the message ${msg} to the SharedWorker.`)) ··· 245 244 clearTimeout(timeout) 246 245 resolve(e.data as string) 247 246 } 247 + worker.port.postMessage(msg) 248 248 }) 249 249 } 250 250
+1 -1
test/cli/fixtures/vm-threads/import-external-css-assets.test.js
··· 16 16 const el = document.createElement('div') 17 17 el.classList.add('test1') 18 18 expect(el.classList.contains('test1')).toBe(true) 19 - expect(window.getComputedStyle(el).color).toBe('') 19 + expect(window.getComputedStyle(el).color).toBe('rgb(0, 0, 0)') 20 20 }) 21 21 22 22 test('when importing processed.css, element changes style', () => {
+27 -9
packages/vitest/src/integrations/env/jsdom.ts
··· 1 - import type { DOMWindow } from 'jsdom' 1 + import type { DOMWindow, VirtualConsole as IVirtualConsole } from 'jsdom' 2 2 import type { Environment } from '../../types/environment' 3 3 import type { JSDOMOptions } from '../../types/jsdom-options' 4 4 import { URL as NodeURL } from 'node:url' ··· 65 65 cookieJar = false, 66 66 ...restOptions 67 67 } = jsdom as JSDOMOptions 68 + let virtualConsole: IVirtualConsole | undefined 69 + if (console && globalThis.console) { 70 + virtualConsole = new VirtualConsole() 71 + // jsdom <27 72 + if ('sendTo' in virtualConsole) { 73 + (virtualConsole.sendTo as any)(globalThis.console) 74 + } 75 + // jsdom >=27 76 + else { 77 + virtualConsole.forwardTo(globalThis.console) 78 + } 79 + } 68 80 let dom = new JSDOM(html, { 69 81 pretendToBeVisual, 70 82 resources: ··· 72 84 ?? (userAgent ? new ResourceLoader({ userAgent }) : undefined), 73 85 runScripts, 74 86 url, 75 - virtualConsole: 76 - console && globalThis.console 77 - ? new VirtualConsole().sendTo(globalThis.console) 78 - : undefined, 87 + virtualConsole, 79 88 cookieJar: cookieJar ? new CookieJar() : undefined, 80 89 includeNodeLocations, 81 90 contentType, ··· 169 178 cookieJar = false, 170 179 ...restOptions 171 180 } = jsdom as any 181 + let virtualConsole: IVirtualConsole | undefined 182 + if (console && globalThis.console) { 183 + virtualConsole = new VirtualConsole() 184 + // jsdom <27 185 + if ('sendTo' in virtualConsole) { 186 + (virtualConsole.sendTo as any)(globalThis.console) 187 + } 188 + // jsdom >=27 189 + else { 190 + virtualConsole.forwardTo(globalThis.console) 191 + } 192 + } 172 193 const dom = new JSDOM(html, { 173 194 pretendToBeVisual, 174 195 resources: ··· 176 197 ?? (userAgent ? new ResourceLoader({ userAgent }) : undefined), 177 198 runScripts, 178 199 url, 179 - virtualConsole: 180 - console && global.console 181 - ? new VirtualConsole().sendTo(global.console) 182 - : undefined, 200 + virtualConsole, 183 201 cookieJar: cookieJar ? new CookieJar() : undefined, 184 202 includeNodeLocations, 185 203 contentType,