chore(deps-dev): bump the development-dependencies group with 3 updates
Bumps the development-dependencies group with 3 updates: jsdom, playwright and vite.
Updates jsdom from 30.1.3 to 31.0.0
Release notes
Sourced from jsdom's releases.
v31.0.0
Breaking changes
- Changed the optional canvas and image decoding backend from
canvasto@napi-rs/canvas. Install@napi-rs/canvasv1.0.13 or later in the v1.x series alongside jsdom; installingcanvasalone no longer enables this support. The new backend provides prebuilt Skia binaries on supported platforms, and rendering and encoded image bytes can differ. Projects using native canvas objects or custom font registration should follow the canvas migration guidance. Added WebP serialization throughcanvas.toDataURL()andcanvas.toBlob(). Fixed image loading to wait for decoding before firingload, discard obsolete source requests, avoid refetching when dimensions change, and prevent failed images from drawing stale contents. Fixed canvas context and serialization behavior, including unsupported context types, read-onlyctx.canvas, image-drawing exceptions, MIME type and quality normalization, and asynchronousnullresults fromcanvas.toBlob()for empty canvases or encoding failures. (@Brooooooklyn)- Changed CSS parsing, selector matching, and computed styles to use a new integrated implementation, with substantially expanded support and faster selector queries and repeated style reads. This includes cascade layers, nesting,
@scope, custom-property substitution and registration through@propertyandCSS.registerProperty(), typedattr(), conditionalif(), shadow-tree styling with:host,::slotted(), and::part(), pseudo-element computed styles, and constructable stylesheets withdocument.adoptedStyleSheetsandshadowRoot.adoptedStyleSheets. Fixed numerous cascade, shorthand, serialization, and default-style issues; computed declarations now stay live across DOM and stylesheet changes. CSS serialization and computed values can differ from previous releases.- Changed HTML and XML parsing to pause at blocking scripts until their required resources are ready. The
JSDOMconstructor,JSDOM.fromURL(), andJSDOM.fromFile()can now return partially parsed documents. Wait forDOMContentLoadedfor the finished tree, or the window'sloadevent for load-delaying resources, checkingdocument.readyStatefirst in case the event has already fired. XML syntax errors encountered after asynchronous parsing resumes are reported through the virtual console as"xml-parsing"errors.Other changes
- Added
window.reportError(), which dispatches anerrorevent and reports uncanceled errors to the virtual console. (@sarankumar1325)- Added
element.ariaBrailleLabelandelement.ariaBrailleRoleDescription. (@Kjubikstronk)- Fixed page-completion
loadevents to fire only on the window. Usewindow.addEventListener("load", ...)orwindow.onloadinstead of listening on the document.- Fixed
document.open(), including implicit calls fromdocument.write(), to clear event listeners and handlers from the document, its descendants, and its window when replacing the input stream.- Fixed
document.write()to process successive writes through the parser's input stream, preserve insertion points across nested scripts, and make completed text immediately visible. Script-created input streams now remain open untildocument.close().- Fixed dynamically inserted scripts to respect
script.async = falseexecution order, use their source text and document from preparation time, and avoid executing after adoption into another document. Scripts parsed through inert fragment APIs no longer execute when subsequently inserted.- Fixed unrelated images, stylesheets, and frames being delayed behind scripts, and resource completion events firing before nested stylesheet imports finish. Cyclic imports no longer prevent completion, and
<style>elements in shadow trees now fireloadevents.- Fixed
window.stop()to cancel pending subresource andXMLHttpRequestrequests in descendant frames and suppress completion events for canceled loads, while allowing subsequent requests to proceed.- Fixed repeated
document.close()calls replaying readiness and load events, and incorrect iframe load events when reopening documents from event handlers.- Fixed memory leaks where pending request interceptor promises retained closed windows, introduced in v28.0.0.
- Fixed focus remaining on elements that become non-focusable after DOM or style changes. Focus now moves asynchronously to the document's viewport, and
element.blur()can release it immediately.- Fixed
document.hasFocus()returning false before an element is focused or during focus transitions within the document, including inside frames.- Fixed
\<template>parsing andtemplate.innerHTMLserialization in XML documents, including templates with namespace prefixes. (@b84330808)- Fixed
rect.toJSON()andperformance.toJSON()to create their result objects in the method's realm instead of the host Node.js realm.
Commits
825fa8e31.0.09f2e49aAdd ariaBrailleLabel and ariaBrailleRoleDescription4c0a35eFlush text written with document.write()fce11d3Switch canvas support to@napi-rs/canvas27614bfFix document.hasFocus() during focus changes627ade2Implement asynchronous focus fixup8bd17a2Implement reportError()5ae66cfUpdate webidl2js and remove IDL workaroundsce5a100Align development scripts and CI9cc717fAdopt ESLint config v6 and oxfmt- Additional commits viewable in compare view
Updates playwright from 1.64.1 to 1.65.0
Release notes
Sourced from playwright's releases.
v1.65.0
🥟 Run tests with Bun
The test runner now runs under Bun. Bun transpiles your TypeScript test files itself, so Playwright does not use Babel or its compilation cache. Pass the
--bunflag, because without itbunx playwright testruns on Node.js:bunx --bun playwright testOur CI runs the test runner tests under Bun 1.4.3 on Linux. Some features work differently under Bun:
- There is no watch mode. UI mode does not run tests again when files change, and
--only-changeddoes not follow imports.- Bun loads modules itself, so
--tsconfigand the JSX options intsconfig.jsonhave no effect, and custom ESM loaders are not supported.- Stack traces do not include async frames, and API names do not include the class name:
clickinstead oflocator.click. This changes some step locations, step titles and error messages.- Console output of a test does not get into the trace and UI mode.
🚨 Reports with only failures
New
failuresreporter prints failures and successful retries as they occur, followed by a summary, without progress output.New
onlyFailuresoption of the HTML, JSON and JUnit reporters keeps only tests with unexpected outcomes, flaky tests and interrupted tests:// playwright.config.ts import { defineConfig } from '@playwright/test';
export default defineConfig({ reporter: [ ['failures'], ['html', { onlyFailures: true }], ], });🎯 Test runner
New built-in
-exclusive-test lock runs a test only when no other tests are running. All other tests continue to run in parallel with each other:test('restart the server', { lock: '-exclusive-' }, async () => { // No other test runs while this one is running. });test.skip(), test.fixme(), test.fail() and test.slow() now accept only a description. It is recorded in the test annotation:
test('upload a file', async ({ page }) => { test.skip('Not implemented yet'); });
... (truncated)
Commits
a1f35e1chore: mark v1.65.0 (#43925)a99c1abcherry-pick(#43918): Revert "fix(docker): use latest stable Chrome for Testin...6f9a7f5cherry-pick(#43914): docs(release-notes): update Chromium version for 1.65daf93bbcherry-pick(#43912): feat(chromium): roll to r12546545e89cherry-pick(#43902): chore(deps): bump runtime deps0347448fix(test runner): track shared ESM dependencies for only-changed (#43837)86e6924fix(clock): cancel real-time timer when replay ends paused (#43873)d745ae0fix(route): wait for all active handlers before disabling interception (#43889)6e3f5ffdocs: release notes for v1.65 (#43874)aa33d27fix(chromium): honor Linux config directories for channel connections (#43884)- Additional commits viewable in compare view
Updates vite from 8.3.5 to 8.3.7
Release notes
Sourced from vite's releases.
v8.3.7
Bug Fixes
Miscellaneous Chores
Tests
Build System
v8.3.6
Bug Fixes
- await overlapping plugin container close calls (#23935) (175bbeb)
- build: resolve dynamic imports with queries appended when collecting CSS dependencies (#23909) (df36558)
- build: use stable module ids in chunk import map hash signatures (fix #23975) (#23976) (8069835)
- bundled-dev: allow named imports from Node built-ins (#23858) (4260c75)
- bundled-dev: reload when hmr cannot run an entry again (#23849) (a236886)
- deps: update
@rollup/plugin-aliasto v6.0.1 (#23862) (67c965b)- deps: update all non-major dependencies (#23896) (46b91c5)
- deps: update all non-major dependencies (#23966) (b3cb057)
- deps: update rolldown-related dependencies (#23868) (a63eb87)
- deps: update rolldown-related dependencies (#23967) (0105733)
- dev: escape ANSI escape sequence for
server.forwardConsole(#23933) (4f340fd)- html: remove adjacent module tags on the first line (#23823) (eab1dc2)
- ignore pnpm's .modules.yaml as a Vite Task input (#23634) (95c2daf)
- optimizer: detect cache dir precisely (#23912) (cc9bc21)
- optimizer: resolve subpath imports (#) with Vite's resolver (#23959) (0fdd81e)
- respect
build.sourcemapfrom environment (#23879) (82e7aa0)- server: escape HTML attributes (#23995) (a270391)
- server: preserve
$patterns in static alias replacements (#23703) (1b6ed05)- ssr: convert external require against built-in modules to import for
ssr.target=webworker(#23759) (a711f1c)- use top-level
inputfor SSR build whenbuild.ssr: true(#23898) (90bc034)- wasm: reject
.wasmoutsideserver.fs(#23914) (64e2467)- watch files that have a query or hash referenced with
new URL(..., import.meta.url)(#23780) (e954a9c)- worker: keep chunks conflicted with unused workers that are still used by a live worker (#23956) (7139ef3)
Performance Improvements
- build: remove preload link listeners on settle (fix #23920) (#23922) (8109efd)
- css: index rendered modules once per output for
cssScopeTo(#23889) (1b905e5)Miscellaneous Chores
... (truncated)
Changelog
Sourced from vite's changelog.
8.3.7 (2026-11-09)
Bug Fixes
Miscellaneous Chores
Tests
Build System
8.3.6 (2026-11-05)
Bug Fixes
- await overlapping plugin container close calls (#23935) (175bbeb)
- build: resolve dynamic imports with queries appended when collecting CSS dependencies (#23909) (df36558)
- build: use stable module ids in chunk import map hash signatures (fix #23975) (#23976) (8069835)
- bundled-dev: allow named imports from Node built-ins (#23858) (4260c75)
- bundled-dev: reload when hmr cannot run an entry again (#23849) (a236886)
- deps: update
@rollup/plugin-aliasto v6.0.1 (#23862) (67c965b)- deps: update all non-major dependencies (#23896) (46b91c5)
- deps: update all non-major dependencies (#23966) (b3cb057)
- deps: update rolldown-related dependencies (#23868) (a63eb87)
- deps: update rolldown-related dependencies (#23967) (0105733)
- dev: escape ANSI escape sequence for
server.forwardConsole(#23933) (4f340fd)- html: remove adjacent module tags on the first line (#23823) (eab1dc2)
- ignore pnpm's .modules.yaml as a Vite Task input (#23634) (95c2daf)
- optimizer: detect cache dir precisely (#23912) (cc9bc21)
- optimizer: resolve subpath imports (#) with Vite's resolver (#23959) (0fdd81e)
- respect
build.sourcemapfrom environment (#23879) (82e7aa0)- server: escape HTML attributes (#23995) (a270391)
- server: preserve
$patterns in static alias replacements (#23703) (1b6ed05)- ssr: convert external require against built-in modules to import for
ssr.target=webworker(#23759) (a711f1c)- use top-level
inputfor SSR build whenbuild.ssr: true(#23898) (90bc034)- wasm: reject
.wasmoutsideserver.fs(#23914) (64e2467)- watch files that have a query or hash referenced with
new URL(..., import.meta.url)(#23780) (e954a9c)- worker: keep chunks conflicted with unused workers that are still used by a live worker (#23956) (7139ef3)
Performance Improvements
- build: remove preload link listeners on settle (fix #23920) (#23922) (8109efd)
- css: index rendered modules once per output for
cssScopeTo(#23889) (1b905e5)Miscellaneous Chores
... (truncated)
Commits
5def936release: v8.3.7 (#24040)517affbfix(deps): update Rolldown to v1.2.18 (#24038)72f86e5chore: enable more lint rules (#24035)c02138cbuild: generate sourcemaps in shim-deps plugin (#24023)a579e35test: useonTestFinishedfor tear downs (#24003)0fd9a29release: v8.3.6 (#23996)eab1dc2fix(html): remove adjacent module tags on the first line (#23823)a270391fix(server): escape HTML attributes (#23995)7139ef3fix(worker): keep chunks conflicted with unused workers that are still used b...0fdd81efix(optimizer): resolve subpath imports (#) with Vite's resolver (#23959)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
Summary by cubic
Updates the development dependencies jsdom, playwright, and vite to newer releases, bringing their latest fixes and test-runner improvements into the project.
jsdom31 replaces its CSS implementation and changes optional canvas support to@napi-rs/canvas; its parsing and computed-style behavior may differ.- Updates
playwrightfrom 1.64.1 to 1.65.0 andvitefrom 8.3.5 to 8.3.7.