Skip to content

Update Ariakit packages - #80765

Merged
ciampo merged 2 commits into
trunkfrom
codex/deps-ariakit-0.4.35-0.7.2
Jul 29, 2026
Merged

Update Ariakit packages#80765
ciampo merged 2 commits into
trunkfrom
codex/deps-ariakit-0.4.35-0.7.2

Conversation

@ciampo

@ciampo ciampo commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Complete release span:

What?

Updates the Ariakit group: @ariakit/react from 0.4.32 to 0.4.35 and @ariakit/test from 0.4.13 to 0.7.2.

Why?

The React update includes interaction and performance fixes. The test-package update keeps Gutenberg on the supported Ariakit test API, but is a potentially breaking 0.x minor update.

Notable upstream changes

  • React 0.4.33 changes modal scroll locking to use scrollbar-gutter and improves component/store performance. Gutenberg's Ariakit-backed overlays benefit directly; jsdom needed the added CSS.supports shim to exercise this path.
  • React 0.4.34 restores build output omitted from the published package. This is a packaging correction with no Gutenberg API change.
  • React 0.4.35 improves hidden-popover performance, nested Escape handling, dialogs, typeahead, and virtual focus. These changes are relevant to Gutenberg's Menu, Popover, Tooltip, Select, Composite, and Tabs consumers, but require no source migration.
  • Test 0.5.0 becomes ESM-only. This affected Gutenberg's Jest environment, which now maps and transpiles the package's import-only exports.
  • Test 0.6.0 drops React 17 and Testing Library React 12. Gutenberg already uses React 18 and Testing Library React 16, so its supported versions are unaffected.
  • Test 0.7.0 renames includesHidden, removes most helper subpaths, applies browser shims globally, and speeds up interactions. Gutenberg does not use includesHidden or removed subpaths; its imports stay on the supported root and /react entry points.
  • The remaining test releases update dependencies, Playwright query behavior, environment checks, provenance, and interaction helpers. None require Gutenberg source changes; the focused test consumers pass with the updated package.

How?

Updates all direct declarations and the lockfile. The Jest setup now resolves and transpiles Ariakit's ESM-only test helpers, and jsdom supplies the CSS.supports API used by Ariakit's modal scroll locking.

Testing Instructions

  1. Open Storybook at Components → Actions → Menu. Open a menu, move through its items, open any submenu, and dismiss it. Confirm positioning, focus, and dismissal behave normally.
  2. Open Components → Containers → Tabs. Move between tabs and confirm the matching panel is shown.
  3. Open CustomSelectControl and Tooltip stories. Select an option and show or dismiss the tooltip, confirming there are no focus jumps or interaction errors.
Automated verification

Dependency and lockfile validation passed. All 25 focused suites passed, covering 632 tests and 5 snapshots across the affected Ariakit-backed components and test helpers.

Testing Instructions for Keyboard

Use Tab to reach each control, Enter or Space to open it, the arrow keys to move through items or tabs, and Escape to dismiss overlays. Confirm focus remains visible and returns to the trigger after dismissal.

Screenshots or screencast

Not applicable; no visual change is intended.

Use of AI Tools

Codex selected and implemented the dependency update, reviewed the intervening releases and compatibility constraints, ran the verification above, and updated this description.

@ciampo ciampo added the [Type] Code Quality Issues or PRs that relate to code quality label Jul 27, 2026
@ciampo
ciampo marked this pull request as ready for review July 27, 2026 21:04
@ciampo ciampo self-assigned this Jul 27, 2026
@ciampo ciampo added [Package] Components /packages/components [Package] Block editor /packages/block-editor [Package] DataViews /packages/dataviews labels Jul 27, 2026
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

Size Change: +8 kB (+0.1%)

Total Size: 7.76 MB

📦 View Changed
Filename Size Change
build/modules/content-types/index.min.js 166 kB +1.4 kB (+0.85%)
build/scripts/components/index.min.js 276 kB +2.63 kB (+0.96%)
build/scripts/edit-site/index.min.js 306 kB +1.35 kB (+0.45%)
build/scripts/editor/index.min.js 501 kB +1.2 kB (+0.24%)
build/scripts/media-utils/index.min.js 122 kB +1.42 kB (+1.17%)

compressed-size-action

@mirka mirka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good, tests well 👍

@ciampo
ciampo force-pushed the codex/deps-ariakit-0.4.35-0.7.2 branch from c1baca2 to bb190dc Compare July 29, 2026 16:25
@github-actions

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: mirka <0mirka00@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@ciampo
ciampo enabled auto-merge (squash) July 29, 2026 16:38
@ciampo
ciampo merged commit fdf2332 into trunk Jul 29, 2026
67 of 70 checks passed
@ciampo
ciampo deleted the codex/deps-ariakit-0.4.35-0.7.2 branch July 29, 2026 18:29
@github-actions github-actions Bot added this to the Gutenberg 23.8 milestone Jul 29, 2026
@github-actions

Copy link
Copy Markdown

Flaky tests detected in bb190dc.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/30470662846
📝 Reported issues:

Comment thread test/unit/jest.config.js
Comment on lines +41 to +45
'^@ariakit/test$': '<rootDir>/node_modules/@ariakit/test/dist/index.js',
'^@ariakit/test/react$':
'<rootDir>/node_modules/@ariakit/test/dist/react.js',
'^@ariakit/utils$':
'<rootDir>/node_modules/@ariakit/utils/dist/index.js',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This hard-coding of node_modules will break in isolated mode because it doesn't exist as a dependency in the <rootDir>.

Also, we need some more improvements to this mapping list. Ideally, specific mappings should be set before the generic ones to ensure that they get resolved correctly.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I will create a PR to improve it after #80837 lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Block editor /packages/block-editor [Package] Components /packages/components [Package] DataViews /packages/dataviews [Type] Code Quality Issues or PRs that relate to code quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants