Skip to content

chore(deps): bump happy-dom to 21, biome to 2.6, bun to 1.4.4 - #24

Merged
ugi-dev merged 1 commit into
mainfrom
chore/bump-deps-happy-dom-21
Nov 7, 2026
Merged

ugi-dev merged 1 commit into
mainfrom
chore/bump-deps-happy-dom-21

Conversation

@ugi-dev

@ugi-dev ugi-dev commented Nov 7, 2026 •

Copy link
Copy Markdown
Member

Closes #26

Summary

Fixes two Socket alerts on happy-dom@20.14.6, which packages/react pulls in through @happy-dom/global-registrator (a dev dependency):

Advisory Affected Fixed in
SSRF via iframe and link stylesheet when parsing untrusted HTML <= 20.14.6 21.0.0
Incomplete fix for CVE-2026-33943: unsanitized import alias leads to host code execution 17.0.0 to 21.0.3 21.0.4

No 20.x release has these fixes, so this takes the major bump to ^21.0.4.

Also bumps:

  • @biomejs/biome from 2.5.15 to 2.6.6
  • @types/bun to ^1.4.4
  • packageManager to bun@1.4.4 (root, packages/kirari, packages/compat)

Biome 2.6 follow-ups

Biome 2.6 adds rules that flagged existing code:

  • noComponentHookFactories (error): the Streamed test components in packages/react/test/hook.test.tsx and stream.test.tsx were defined inside functions and now live at module level. The hook test passes its handle in as a prop.
  • noDynamicNamespaceImportAccess (warning): the compat tests compare exports with Object.entries and Reflect.get instead of indexing the namespace.
  • useLiteralKeys (info): one fix in scripts/check-packages.ts.
  • The $schema URL in biome.json now points at 2.6.6. Only that line changed, since biome migrate reformats the whole file.

Testing

  • bun run typecheck, bun run test and bun run check all pass.
  • The react package tests pass on happy-dom 21.
  • These runs used bun 1.3.4 locally, not the newly pinned 1.4.4; CI covers 1.4.4.

Summary by cubic

Bumps happy-dom to 21.0.4 to fix two Socket security alerts in packages/react (SSRF via iframe and link stylesheet, and host code execution via unsanitized import alias), and bumps @biomejs/biome to 2.6.6, @types/bun to ^1.4.4, and the pinned bun to 1.4.4.

Biome 2.6 follow-ups

  • The Streamed test components move to module level for the new noComponentHookFactories rule; the hook test passes its handle as a prop instead.
  • The compat tests compare exports with Object.entries and Reflect.get instead of dynamic namespace access.
  • One useLiteralKeys fix in scripts/check-packages.ts and the biome.json schema URL now point at 2.6.6.

Written for commit 969d807. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • Chores
    • Updated Bun, Biome, and the browser-testing environment to newer versions.
    • Refreshed package manager version declarations across the relevant packages.
    • Adjusted package compatibility checks and test setup; no end-user functionality changes are noted.

Fixes two Socket alerts on happy-dom@20.14.6, pulled in through
@happy-dom/global-registrator in packages/react:
- SSRF via iframe and link stylesheet (<= 20.14.6, fixed in 21.0.0)
- Unsanitized import alias leads to host code execution, an incomplete
  fix for CVE-2026-33943 (<= 21.0.3, fixed in 21.0.4)

Also bumps @biomejs/biome 2.5.15 -> 2.6.6, @types/bun to ^1.4.4 and
packageManager to bun@1.4.4. Biome 2.6 adds rules that flagged the
tests, so the Streamed test components move to module level
(noComponentHookFactories), the compat tests compare exports via
Object.entries instead of dynamic namespace access, and the biome.json
schema URL points at 2.6.6.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-07T23:09:25.295704Z 969d807 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The pull request updates Bun, Biome, and a React development dependency. It also changes compatibility export assertions and restructures React test components.

Changes

Toolchain and test maintenance

Layer / File(s) Summary
Tool and package version updates
biome.json, package.json, packages/compat/package.json, packages/kirari/package.json, packages/react/package.json
The repository updates Bun to 1.4.4, Biome to 2.6.6, Bun type definitions to ^1.4.4, and @happy-dom/global-registrator to ^21.0.4.
Compatibility export assertions
packages/compat/test/compat.test.ts, packages/compat-rehype/test/compat.test.ts, scripts/check-packages.ts
The compatibility tests retrieve scoped exports with Reflect.get. The package check uses dot notation for the kirari peer dependency property.
React test component setup
packages/react/test/hook.test.tsx, packages/react/test/stream.test.tsx
The tests declare Streamed outside their test helpers. The hook test passes language and handle as props and retains a render function that accepts a language.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • vortexkit/kirari#20: Introduces the compatibility packages and check script that this PR updates.
Merge Risk: Minimal · up to 969d8

No code-level merge risk was identified. The linked-issue check still needs a valid issue reference.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title names the dependency bumps that make up the changeset: happy-dom to 21, Biome to 2.6, and Bun to 1.4.4. The raw summary confirms each bump in package.json, the packageManager fields, and bio…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the dependency bumps that make up the changeset: happy-dom to 21, Biome to 2.6, and Bun to 1.4.4. The raw summary confirms each bump in package.json, the packageManager fields, and biome.json. The title does not mention the test-component and compat-test adjustments, but those follow from the Biome 2.6 upgrade and are secondary to the main change.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 5 files. (5 skipped: 5 unsupported.)

Finishing Touches

Generate docstrings

  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 0a74b3d and 969d807.

Files ignored due to path filters: 1

  • bun.lock is excluded by !**/*.lock
Files selected for processing: 10

  • biome.json
  • package.json
  • packages/compat-rehype/test/compat.test.ts
  • packages/compat/package.json
  • packages/compat/test/compat.test.ts
  • packages/kirari/package.json
  • packages/react/package.json
  • packages/react/test/hook.test.tsx
  • packages/react/test/stream.test.tsx
  • scripts/check-packages.ts

Included review availability: This review used your included allowance. 4 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​types/​bun@​1.4.3 ⏵ 1.4.41001004892100
Updated@​happy-dom/​global-registrator@​20.14.6 ⏵ 21.0.41001008796 +1100
Updated@​biomejs/​biome@​2.5.15 ⏵ 2.6.6100100100 +199 +1100

View full report

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 11 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@ugi-dev
ugi-dev merged commit 8e3649d into main Nov 7, 2026
10 of 13 checks passed
@ugi-dev
ugi-dev deleted the chore/bump-deps-happy-dom-21 branch November 7, 2026 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Socket: high CVEs in happy-dom@20.14.6 (dev dependency of kirari-react)

1 participant