From 416a273366b939efbed05b4b8f8b3a954b9038aa Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 20 Aug 2026 10:11:28 -0700
Subject: [PATCH] build(deps): bump jsdom and @types/jsdom (#11717)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [jsdom](https://github.com/jsdom/jsdom) and
[@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom).
These dependencies needed to be updated together.
Updates `jsdom` from 28.1.0 to 30.0.1
Release notes
Sourced from jsdom's
releases.
v30.0.1
- Fixed
getComputedStyle() with calc() and
other functions throwing an exception, which regressed in v30.0.0. (@asamuzaK)
- Sped up up range operations on large documents (
@leonidaz)
v30.0.0
Breaking changes:
- Node.js minimum version raised to
^22.22.2 || ^24.15.0 ||
>=26.0.0.
Other changes:
- Added
CSS.escape() and CSS.supports()
functions. (@asamuzaK)
- Added
'background-position-x' and
'background-position-y' CSS properties. (@olagokemills)
- Fixed
getComputedStyle() to convert length values into
pixels. (@asamuzaK)
- Fixed CSS function serialization, e.g., in the return value of
getPropertyValue(). (@asamuzaK)
- Fixed the type of error thrown by
document.evaluate()
(@dokson)
v29.1.1
- Fixed
'border-radius' computed style serialization. (@asamuzaK)
- Fixed computed style computation when using
'background-origin' and 'background-clip' CSS
properties. (@asamuzaK)
- Significantly optimized initial calls to
getComputedStyle(), before the cache warms up. (@asamuzaK)
v29.1.0
- Added basic support for the ratio CSS type. (
@asamuzaK)
- Fixed
getComputedStyle() sometimes returning outdated
results after CSS was modified. (@asamuzaK)
v29.0.2
- Significantly improved and sped up
getComputedStyle().
Computed value rules are now applied across a broader set of properties,
and include fixes related to inheritance, defaulting keywords, custom
properties, and color-related values such as currentcolor
and system colors. (@asamuzaK)
- Fixed CSS
'background' and 'border'
shorthand parsing. (@asamuzaK)
v29.0.1
- Fixed CSS parsing of
'border',
'background', and their sub-shorthands containing keywords
or var(). (@asamuzaK)
- Fixed
getComputedStyle() to return a more functional
CSSStyleDeclaration object, including indexed access
support, which regressed in v29.0.0.
v29.0.0
Breaking changes:
- Node.js v22.13.0+ is now the minimum supported v22 version (was
v22.12.0+).
Other changes:
- Overhauled the CSSOM implementation, replacing the
@acemir/cssom
and cssstyle
dependencies with fresh internal implementations built on webidl2js
wrappers and the css-tree
parser. Serialization, parsing, and API behavior is improved in various
ways, especially around edge cases.
- Added
CSSCounterStyleRule and
CSSNamespaceRule to jsdom Windows.
- Added
cssMediaRule.matches and
cssSupportsRule.matches getters.
- Added proper media query parsing in
MediaList, using
css-tree instead of naive comma-splitting. Invalid queries
become "not all" per spec.
- Added
cssKeyframeRule.keyText getter/setter
validation.
- Added
cssStyleRule.selectorText setter validation:
invalid selectors are now rejected.
- Added
styleSheet.ownerNode,
styleSheet.href, and styleSheet.title.
- Added bad port blocking per the fetch specification,
preventing fetches to commonly-abused ports.
- Improved
Document initialization performance by lazily
initializing the CSS selector engine, avoiding ~0.5 ms of overhead per
Document. (@thypon)
... (truncated)
Commits
6584485
30.0.1
0c51df6
Update dependencies and dev dependencies
32adb34
Bump @asamuzakjp/dom-selector
70f014a
Speed up range operations on large documents
250d7ee
Partially fix getComputedStyle with calc()
20a01fc
30.0.0
8c8e583
Precompute WPT expectation matches
f32245c
Bump Node.js floor and dependencies
03ef23b
Add background-position longhands
ded056f
Test CSS.escape() with numeric IDs
- Additional commits viewable in compare
view
Maintainer changes
This version was pushed to npm by GitHub Actions, a new
releaser for jsdom since your current version.
Install script changes
This version modifies prepare script that runs during
installation. Review the package contents before updating.
Updates `@types/jsdom` from 28.0.0 to 30.0.0
Commits
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Priya Raman
Co-authored-by: Paperclip
---
pnpm-lock.yaml | 270 ++++++++----------
server/package.json | 4 +-
.../__tests__/external-object-routes.test.ts | 11 +-
ui/src/components/IssueRow.test.tsx | 8 +-
4 files changed, 137 insertions(+), 156 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d7142071f6..9bd5e987c7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -45,7 +45,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.2.3)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@25.2.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.2.3)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@25.2.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
cli:
dependencies:
@@ -264,7 +264,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/adapters/hermes-gateway:
dependencies:
@@ -280,7 +280,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/adapters/openclaw-gateway:
dependencies:
@@ -365,7 +365,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/google-sheets-mcp-server:
dependencies:
@@ -387,7 +387,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/kv-demo-mcp-server:
dependencies:
@@ -406,7 +406,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/mcp-server:
dependencies:
@@ -428,7 +428,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/plugins/create-paperclip-plugin:
dependencies:
@@ -478,7 +478,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/plugins/examples/plugin-file-browser-example:
dependencies:
@@ -596,7 +596,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/plugins/plugin-llm-wiki:
dependencies:
@@ -639,7 +639,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/plugins/plugin-workspace-diff:
dependencies:
@@ -673,7 +673,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/plugins/sdk:
dependencies:
@@ -730,7 +730,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.1.10
- version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.11(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages/teams-catalog:
devDependencies:
@@ -799,7 +799,7 @@ importers:
version: 3.0.1(ajv@8.20.0)
better-auth:
specifier: 1.6.28
- version: 1.6.28(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9)(sqlite3@5.1.7))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)))
+ version: 1.6.28(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9)(sqlite3@5.1.7))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)))
chokidar:
specifier: ^4.0.3
version: 4.0.3
@@ -822,8 +822,8 @@ importers:
specifier: ^5.1.0
version: 5.2.1
jsdom:
- specifier: ^28.1.0
- version: 28.1.0(@noble/hashes@2.3.0)
+ specifier: ^30.0.1
+ version: 30.0.1(@noble/hashes@2.3.0)
multer:
specifier: ^2.2.0
version: 2.2.0
@@ -859,8 +859,8 @@ importers:
specifier: ^5.1.3
version: 5.1.3
'@types/jsdom':
- specifier: ^28.0.0
- version: 28.0.0
+ specifier: ^30.0.0
+ version: 30.0.0
'@types/multer':
specifier: ^2.2.0
version: 2.2.0
@@ -893,7 +893,7 @@ importers:
version: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
ui:
dependencies:
@@ -1056,13 +1056,10 @@ importers:
version: 6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)
vitest:
specifier: ^4.1.10
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
packages:
- '@acemir/cssom@0.9.31':
- resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==}
-
'@adobe/css-tools@4.5.0':
resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==}
@@ -1145,15 +1142,13 @@ packages:
zod:
optional: true
- '@asamuzakjp/css-color@5.0.1':
- resolution: {integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ '@asamuzakjp/css-color@6.0.7':
+ resolution: {integrity: sha512-vC/bk1Lz7Tn/EfU9/apOTBk80/8dyGyWMowPoV1tJ52muDGsDqt2HPT2klrFUiY60MQmQv9q8yIht15JnBgDGw==}
+ engines: {node: ^22.13.0 || >=24.0.0}
- '@asamuzakjp/dom-selector@6.8.1':
- resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==}
-
- '@asamuzakjp/nwsapi@2.3.9':
- resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
+ '@asamuzakjp/dom-selector@8.3.2':
+ resolution: {integrity: sha512-93Z1N+BQNXysodoicpOIyNh2drHfz/CTf9nnT0FEx72GJcIiwgydD7tGAr78j41LsYn3hlRn+LdGPuBLn1Bl8Q==}
+ engines: {node: ^22.13.0 || >=24.0.0}
'@assistant-ui/core@0.3.14':
resolution: {integrity: sha512-UtjUZLUyCjB0ymv4YXtmNtUIyzznUnpNVFntY9wSvvHG7k25HzffCrpi4jiuW0814Zhf/ejouXZja+RuMWLseA==}
@@ -1704,19 +1699,19 @@ packages:
peerDependencies:
'@bufbuild/protobuf': ^1.10.0
- '@csstools/color-helpers@6.0.2':
- resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==}
+ '@csstools/color-helpers@6.1.1':
+ resolution: {integrity: sha512-gLNsunvwf3mCi5u5o46/Z/JcJMnhbHSaZ69rkgPzNM3J4s8hWwpPUQB6/tt0EDFyCiWzxANlx+2LJwpYj4zS1w==}
engines: {node: '>=20.19.0'}
- '@csstools/css-calc@3.1.1':
- resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==}
+ '@csstools/css-calc@3.3.0':
+ resolution: {integrity: sha512-c5ihYsPkdG6JCkU2zTMm4+k6r7RXuGxtWYhu5DHMIiF1FHzrfmHL5so11AoFpUv/tu61xfcmT4AmKoFfMPoqdQ==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-color-parser@4.0.2':
- resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==}
+ '@csstools/css-color-parser@4.2.0':
+ resolution: {integrity: sha512-5+5LEmFuY1AjXdYhmgjTJogtQnP1evJ1zrBZGUNZ0thkpwnnmKxcHdAMn/OtFjAb25zA+jKDVYVRl+5G7rjv1A==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
@@ -1728,8 +1723,8 @@ packages:
peerDependencies:
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.1':
- resolution: {integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==}
+ '@csstools/css-syntax-patches-for-csstree@1.1.8':
+ resolution: {integrity: sha512-CpMLjAvwQg3BL5S0IeqsZNMH7EQrEWi0kLKOC13ZBF0ZwERiLWlibNPJr8G1kdU3Ms/r2KiNrF81pUh2HwAHdg==}
peerDependencies:
css-tree: ^3.2.1
peerDependenciesMeta:
@@ -2635,8 +2630,8 @@ packages:
cpu: [x64]
os: [win32]
- '@exodus/bytes@1.15.0':
- resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==}
+ '@exodus/bytes@1.15.1':
+ resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
peerDependencies:
'@noble/hashes': ^1.8.0 || ^2.0.0
@@ -5341,8 +5336,8 @@ packages:
'@types/http-errors@2.0.5':
resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
- '@types/jsdom@28.0.0':
- resolution: {integrity: sha512-A8TBQQC/xAOojy9kM8E46cqT00sF0h7dWjV8t8BJhUi2rG6JRh7XXQo/oLoENuZIQEpXsxLccLCnknyQd7qssQ==}
+ '@types/jsdom@30.0.0':
+ resolution: {integrity: sha512-uAHGxujGE0cDaKGdK28zgDotFtNA7MKq5DXl8LrfdxdCI8VHcg15oJz+amHTChPNI5JpgEPQWc2xFdrw3em/nQ==}
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
@@ -6071,10 +6066,6 @@ packages:
engines: {node: '>=4'}
hasBin: true
- cssstyle@6.2.0:
- resolution: {integrity: sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==}
- engines: {node: '>=20'}
-
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
@@ -6515,9 +6506,9 @@ packages:
resolution: {integrity: sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==}
engines: {node: '>=10.13.0'}
- entities@6.0.1:
- resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
- engines: {node: '>=0.12'}
+ entities@8.0.0:
+ resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==}
+ engines: {node: '>=20.19.0'}
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
@@ -6919,10 +6910,6 @@ packages:
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
engines: {node: '>= 6'}
- http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
-
https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
@@ -7091,11 +7078,11 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsdom@28.1.0:
- resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ jsdom@30.0.1:
+ resolution: {integrity: sha512-52v7mUVUfNQVYYqE1lcdaymWL0njO7lTLUog6ZvW2U5KsbiLk/GnZlVJ+qx0xfNJZ6Gn+KSpPNE52vurbxZwrA==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
peerDependencies:
- canvas: ^3.0.0
+ canvas: ^3.2.3
peerDependenciesMeta:
canvas:
optional: true
@@ -7252,10 +7239,6 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
- lru-cache@11.2.7:
- resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==}
- engines: {node: 20 || >=22}
-
lru-cache@11.5.2:
resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==}
engines: {node: 20 || >=22}
@@ -7718,11 +7701,8 @@ packages:
parse-entities@4.0.2:
resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
- parse5@7.3.0:
- resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
-
- parse5@8.0.0:
- resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==}
+ parse5@8.0.1:
+ resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==}
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
@@ -8513,19 +8493,19 @@ packages:
resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
engines: {node: '>=14.0.0'}
- tldts-core@7.0.26:
- resolution: {integrity: sha512-5WJ2SqFsv4G2Dwi7ZFVRnz6b2H1od39QME1lc2y5Ew3eWiZMAeqOAfWpRP9jHvhUl881406QtZTODvjttJs+ew==}
+ tldts-core@7.4.10:
+ resolution: {integrity: sha512-KnQjp53ZekKgm/r3l+u8kJGGzYgrWdP8+Mql7a4vijh2WE0IrZWspQj/TpTxDho/YxO+AnOZnIjQcCD+q6iJsw==}
- tldts@7.0.26:
- resolution: {integrity: sha512-WiGwQjr0qYdNNG8KpMKlSvpxz652lqa3Rd+/hSaDcY4Uo6SKWZq2LAF+hsAhUewTtYhXlorBKgNF3Kk8hnjGoQ==}
+ tldts@7.4.10:
+ resolution: {integrity: sha512-GgouD1B+sWwvkaEq8vXC15DjQitxbvs12oIXELpconwm+Tg3zfcEv4jgzq3vtKverDXsg3VI8aRgNL2Nra0Iog==}
hasBin: true
toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
- tough-cookie@6.0.1:
- resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==}
+ tough-cookie@6.0.2:
+ resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==}
engines: {node: '>=16'}
tr46@6.0.0:
@@ -8588,16 +8568,16 @@ packages:
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
- undici-types@7.24.4:
- resolution: {integrity: sha512-cRaY9PagdEZoRmcwzk3tUV3SVGrVQkR6bcSilav/A0vXsfpW4Lvd0BvgRMwTEDTLLGN+QdyBTG+nnvTgJhdt6w==}
+ undici-types@8.10.0:
+ resolution: {integrity: sha512-ibvdovq3nCFs8Msrd95BW+zUOq+aOVbT+wpHUoPWhztbHEoPc6oof51iFDB6Es8lTKvNvVW9jNSAB8dwrKTMGg==}
undici@5.29.0:
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
engines: {node: '>=14.0'}
- undici@7.24.4:
- resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==}
- engines: {node: '>=20.18.1'}
+ undici@8.10.0:
+ resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==}
+ engines: {node: '>=22.19.0'}
unidiff@1.0.4:
resolution: {integrity: sha512-ynU0vsAXw0ir8roa+xPCUHmnJ5goc5BTM2Kuc3IJd8UwgaeRs7VSD5+eeaQL+xp1JtB92hu/Zy/Lgy7RZcr1pQ==}
@@ -8918,6 +8898,10 @@ packages:
resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ whatwg-url@17.1.0:
+ resolution: {integrity: sha512-3GeworPmc2ZfEEHP7lEbUfBX/L75wdEsi0rLNhXcXxnoN5jyq0SL5gCy06SGW2cyTIZdTvWIDQNQoza++vKeaw==}
+ engines: {node: ^22.14.0 || >=24.0.0}
+
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -9017,8 +9001,6 @@ packages:
snapshots:
- '@acemir/cssom@0.9.31': {}
-
'@adobe/css-tools@4.5.0': {}
'@agentclientprotocol/claude-agent-acp@0.69.0(@anthropic-ai/sdk@0.81.0(zod@3.25.76))(@modelcontextprotocol/sdk@1.30.0(zod@3.25.76))':
@@ -9101,23 +9083,20 @@ snapshots:
optionalDependencies:
zod: 3.25.76
- '@asamuzakjp/css-color@5.0.1':
+ '@asamuzakjp/css-color@6.0.7':
dependencies:
- '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
- '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- lru-cache: 11.2.7
+ lru-cache: 11.5.2
- '@asamuzakjp/dom-selector@6.8.1':
+ '@asamuzakjp/dom-selector@8.3.2':
dependencies:
- '@asamuzakjp/nwsapi': 2.3.9
bidi-js: 1.0.3
css-tree: 3.2.1
is-potential-custom-element-name: 1.0.1
- lru-cache: 11.2.7
-
- '@asamuzakjp/nwsapi@2.3.9': {}
+ lru-cache: 11.5.2
'@assistant-ui/core@0.3.14(@assistant-ui/store@0.3.10(@assistant-ui/tap@0.9.13(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(react@19.2.8))(@assistant-ui/tap@0.9.13(@types/react@19.2.18)(react@19.2.8))(@types/react@19.2.18)(assistant-cloud@0.1.41)(react@19.2.8)(zustand@5.0.15(@types/react@19.2.18)(react@19.2.8)(use-sync-external-store@1.6.0(react@19.2.8)))':
dependencies:
@@ -10003,17 +9982,17 @@ snapshots:
dependencies:
'@bufbuild/protobuf': 1.10.0
- '@csstools/color-helpers@6.0.2': {}
+ '@csstools/color-helpers@6.1.1': {}
- '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ '@csstools/css-calc@3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ '@csstools/css-color-parser@4.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/color-helpers': 6.0.2
- '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/color-helpers': 6.1.1
+ '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
@@ -10021,7 +10000,7 @@ snapshots:
dependencies:
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)':
+ '@csstools/css-syntax-patches-for-csstree@1.1.8(css-tree@3.2.1)':
optionalDependencies:
css-tree: 3.2.1
@@ -10533,7 +10512,7 @@ snapshots:
'@esbuild/win32-x64@0.28.2':
optional: true
- '@exodus/bytes@1.15.0(@noble/hashes@2.3.0)':
+ '@exodus/bytes@1.15.1(@noble/hashes@2.3.0)':
optionalDependencies:
'@noble/hashes': 2.3.0
@@ -13258,12 +13237,12 @@ snapshots:
'@types/http-errors@2.0.5': {}
- '@types/jsdom@28.0.0':
+ '@types/jsdom@30.0.0':
dependencies:
'@types/node': 22.20.1
'@types/tough-cookie': 4.0.5
- parse5: 7.3.0
- undici-types: 7.24.4
+ parse5: 8.0.1
+ undici-types: 8.10.0
'@types/mdast@4.0.4':
dependencies:
@@ -13666,7 +13645,7 @@ snapshots:
dependencies:
tweetnacl: 0.14.5
- better-auth@1.6.28(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9)(sqlite3@5.1.7))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))):
+ better-auth@1.6.28(@opentelemetry/api@1.9.1)(drizzle-kit@0.31.10)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9)(sqlite3@5.1.7))(pg@8.18.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))):
dependencies:
'@better-auth/core': 1.6.28(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@3.25.76))(jose@6.2.9)(kysely@0.29.5)(nanostores@1.5.0)
'@better-auth/drizzle-adapter': 1.6.28(@better-auth/core@1.6.28(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(@opentelemetry/api@1.9.1)(better-call@1.4.0(zod@3.25.76))(jose@6.2.9)(kysely@0.29.5)(nanostores@1.5.0))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.2(@electric-sql/pglite@0.3.15)(@opentelemetry/api@1.9.1)(kysely@0.29.5)(pg@8.18.0)(postgres@3.4.9)(sqlite3@5.1.7))
@@ -13691,7 +13670,7 @@ snapshots:
pg: 8.18.0
react: 19.2.8
react-dom: 19.2.8(react@19.2.8)
- vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
+ vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
transitivePeerDependencies:
- '@cloudflare/workers-types'
- '@opentelemetry/api'
@@ -14006,13 +13985,6 @@ snapshots:
cssesc@3.0.0: {}
- cssstyle@6.2.0:
- dependencies:
- '@asamuzakjp/css-color': 5.0.1
- '@csstools/css-syntax-patches-for-csstree': 1.1.1(css-tree@3.2.1)
- css-tree: 3.2.1
- lru-cache: 11.2.7
-
csstype@3.2.3: {}
cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.1):
@@ -14383,7 +14355,7 @@ snapshots:
graceful-fs: 4.2.11
tapable: 2.3.3
- entities@6.0.1: {}
+ entities@8.0.0: {}
env-paths@2.2.1:
optional: true
@@ -14987,7 +14959,7 @@ snapshots:
html-encoding-sniffer@6.0.0(@noble/hashes@2.3.0):
dependencies:
- '@exodus/bytes': 1.15.0(@noble/hashes@2.3.0)
+ '@exodus/bytes': 1.15.1(@noble/hashes@2.3.0)
transitivePeerDependencies:
- '@noble/hashes'
@@ -15017,13 +14989,6 @@ snapshots:
- supports-color
optional: true
- http-proxy-agent@7.0.2:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
@@ -15163,32 +15128,31 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsdom@28.1.0(@noble/hashes@2.3.0):
+ jsdom@30.0.1(@noble/hashes@2.3.0):
dependencies:
- '@acemir/cssom': 0.9.31
- '@asamuzakjp/dom-selector': 6.8.1
+ '@asamuzakjp/css-color': 6.0.7
+ '@asamuzakjp/dom-selector': 8.3.2
'@bramus/specificity': 2.4.2
- '@exodus/bytes': 1.15.0(@noble/hashes@2.3.0)
- cssstyle: 6.2.0
+ '@csstools/css-syntax-patches-for-csstree': 1.1.8(css-tree@3.2.1)
+ '@exodus/bytes': 1.15.1(@noble/hashes@2.3.0)
+ css-tree: 3.2.1
data-urls: 7.0.0(@noble/hashes@2.3.0)
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0(@noble/hashes@2.3.0)
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- parse5: 8.0.0
+ lru-cache: 11.5.2
+ parse5: 8.0.1
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 6.0.1
- undici: 7.24.4
+ tough-cookie: 6.0.2
+ undici: 8.10.0
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
- whatwg-url: 16.0.1(@noble/hashes@2.3.0)
+ whatwg-url: 17.1.0(@noble/hashes@2.3.0)
xml-name-validator: 5.0.0
transitivePeerDependencies:
- '@noble/hashes'
- - supports-color
jsesc@3.1.0: {}
@@ -15305,8 +15269,6 @@ snapshots:
lru-cache@10.4.3: {}
- lru-cache@11.2.7: {}
-
lru-cache@11.5.2: {}
lru-cache@5.1.1:
@@ -16148,13 +16110,9 @@ snapshots:
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
- parse5@7.3.0:
+ parse5@8.0.1:
dependencies:
- entities: 6.0.1
-
- parse5@8.0.0:
- dependencies:
- entities: 6.0.1
+ entities: 8.0.0
parseurl@1.3.3: {}
@@ -17180,17 +17138,17 @@ snapshots:
tinyspy@4.0.4: {}
- tldts-core@7.0.26: {}
+ tldts-core@7.4.10: {}
- tldts@7.0.26:
+ tldts@7.4.10:
dependencies:
- tldts-core: 7.0.26
+ tldts-core: 7.4.10
toidentifier@1.0.1: {}
- tough-cookie@6.0.1:
+ tough-cookie@6.0.2:
dependencies:
- tldts: 7.0.26
+ tldts: 7.4.10
tr46@6.0.0:
dependencies:
@@ -17247,13 +17205,13 @@ snapshots:
undici-types@7.16.0:
optional: true
- undici-types@7.24.4: {}
+ undici-types@8.10.0: {}
undici@5.29.0:
dependencies:
'@fastify/busboy': 2.1.1
- undici@7.24.4: {}
+ undici@8.10.0: {}
unidiff@1.0.4:
dependencies:
@@ -17435,7 +17393,7 @@ snapshots:
lightningcss: 1.32.0
tsx: 4.23.12
- vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
+ vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
dependencies:
'@vitest/expect': 4.1.10
'@vitest/mocker': 4.1.10(vite@6.4.3(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
@@ -17460,11 +17418,11 @@ snapshots:
optionalDependencies:
'@opentelemetry/api': 1.9.1
'@types/node': 22.20.1
- jsdom: 28.1.0(@noble/hashes@2.3.0)
+ jsdom: 30.0.1(@noble/hashes@2.3.0)
transitivePeerDependencies:
- msw
- vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
+ vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
dependencies:
'@vitest/expect': 4.1.10
'@vitest/mocker': 4.1.10(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
@@ -17489,11 +17447,11 @@ snapshots:
optionalDependencies:
'@opentelemetry/api': 1.9.1
'@types/node': 22.20.1
- jsdom: 28.1.0(@noble/hashes@2.3.0)
+ jsdom: 30.0.1(@noble/hashes@2.3.0)
transitivePeerDependencies:
- msw
- vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.2.3)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@25.2.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
+ vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@25.2.3)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@25.2.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
dependencies:
'@vitest/expect': 4.1.10
'@vitest/mocker': 4.1.10(vite@7.3.1(@types/node@25.2.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
@@ -17518,11 +17476,11 @@ snapshots:
optionalDependencies:
'@opentelemetry/api': 1.9.1
'@types/node': 25.2.3
- jsdom: 28.1.0(@noble/hashes@2.3.0)
+ jsdom: 30.0.1(@noble/hashes@2.3.0)
transitivePeerDependencies:
- msw
- vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@28.1.0(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
+ vitest@4.1.11(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(jsdom@30.0.1(@noble/hashes@2.3.0))(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12)):
dependencies:
'@vitest/expect': 4.1.11
'@vitest/mocker': 4.1.11(vite@7.3.1(@types/node@22.20.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.23.12))
@@ -17547,7 +17505,7 @@ snapshots:
optionalDependencies:
'@opentelemetry/api': 1.9.1
'@types/node': 22.20.1
- jsdom: 28.1.0(@noble/hashes@2.3.0)
+ jsdom: 30.0.1(@noble/hashes@2.3.0)
transitivePeerDependencies:
- msw
@@ -17569,7 +17527,15 @@ snapshots:
whatwg-url@16.0.1(@noble/hashes@2.3.0):
dependencies:
- '@exodus/bytes': 1.15.0(@noble/hashes@2.3.0)
+ '@exodus/bytes': 1.15.1(@noble/hashes@2.3.0)
+ tr46: 6.0.0
+ webidl-conversions: 8.0.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
+ whatwg-url@17.1.0(@noble/hashes@2.3.0):
+ dependencies:
+ '@exodus/bytes': 1.15.1(@noble/hashes@2.3.0)
tr46: 6.0.0
webidl-conversions: 8.0.1
transitivePeerDependencies:
diff --git a/server/package.json b/server/package.json
index 2811c72530..35c3174eb5 100644
--- a/server/package.json
+++ b/server/package.json
@@ -70,7 +70,7 @@
"drizzle-orm": "^0.45.2",
"embedded-postgres": "^18.1.0-beta.16",
"express": "^5.1.0",
- "jsdom": "^28.1.0",
+ "jsdom": "^30.0.1",
"multer": "^2.2.0",
"open": "^11.0.1",
"pino": "^9.6.0",
@@ -84,7 +84,7 @@
"devDependencies": {
"@types/express": "^5.0.0",
"@types/express-serve-static-core": "^5.1.3",
- "@types/jsdom": "^28.0.0",
+ "@types/jsdom": "^30.0.0",
"@types/multer": "^2.2.0",
"@types/node": "^22.20.1",
"@types/sharp": "^0.32.0",
diff --git a/server/src/__tests__/external-object-routes.test.ts b/server/src/__tests__/external-object-routes.test.ts
index e27357b043..9523fe66d0 100644
--- a/server/src/__tests__/external-object-routes.test.ts
+++ b/server/src/__tests__/external-object-routes.test.ts
@@ -1,6 +1,6 @@
import express from "express";
import request from "supertest";
-import { beforeEach, describe, expect, it, vi } from "vitest";
+import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
const issueId = "11111111-1111-4111-8111-111111111111";
const companyId = "22222222-2222-4222-8222-222222222222";
@@ -158,6 +158,15 @@ function peerActor(): Express.Request["actor"] {
}
describe("external object routes", () => {
+ // Load the real route and middleware modules once before the tests run. The
+ // first import transforms a large module graph. Under the loaded serial shard
+ // (maxWorkers=1) that cold cost crossed the 5s testTimeout of the first test.
+ // The hook has a 30s budget, so it absorbs the transform cost and every later
+ // createApp() call hits the cached modules.
+ beforeAll(async () => {
+ await createApp(boardActor());
+ });
+
beforeEach(() => {
vi.resetModules();
vi.doUnmock("../routes/issues.js");
diff --git a/ui/src/components/IssueRow.test.tsx b/ui/src/components/IssueRow.test.tsx
index a3ef0343aa..7274cc90d3 100644
--- a/ui/src/components/IssueRow.test.tsx
+++ b/ui/src/components/IssueRow.test.tsx
@@ -104,7 +104,13 @@ describe("IssueRow", () => {
root.render();
});
- const glyphs = container.querySelectorAll('svg[viewBox="0 0 24 24"]');
+ // jsdom 30 does not value-match a CSS attribute selector against a
+ // mixed-case SVG attribute name, so `svg[viewBox="0 0 24 24"]` matches
+ // nothing. Select the glyph SVGs by attribute presence, then compare the
+ // viewBox value with getAttribute to keep the exact-value assertion.
+ const glyphs = Array.from(container.querySelectorAll("svg[viewBox]")).filter(
+ (svg) => svg.getAttribute("viewBox") === "0 0 24 24",
+ );
expect(glyphs.length).toBeGreaterThan(0);
glyphs.forEach((glyph) => {
expect(glyph.getAttribute("width")).toBe("16");