Skip to content

Bump vite-plugin-ruby from 5.2.2 to 5.2.3 - #9301

Merged
davidrunger merged 1 commit into
mainfrom
bump-vite-plugin-ruby
Aug 27, 2026
Merged

Bump vite-plugin-ruby from 5.2.2 to 5.2.3#9301
davidrunger merged 1 commit into
mainfrom
bump-vite-plugin-ruby

Conversation

@davidrunger

Copy link
Copy Markdown
Owner

Version 5.2.3 adds native Vite 8 WebSocket configuration support through ElMassimo/vite_ruby#620, allowing vite.config.mjs to call RubyPlugin() directly and remove the RubyPluginWithWebSocketConfig transformation.

Set skipProxy to load development entrypoints directly from Vite. The Vite client can then derive its WebSocket address from its own script URL, making the explicit server.ws.clientPort workaround and its config regression spec unnecessary. Permit only the local Vite HTTP and WebSocket paths in the domain-restricted Cuprite driver so feature specs can use the live server.

Delay vite-plugin-full-reload notifications by 100 ms so the Rails evented view reloader can invalidate changed server-rendered templates before the browser requests them. This uses the Rails-specific delay option documented at https://github.com/ElMassimo/vite-plugin-full-reload#configuration-%EF%B8%8F and prevents the first automatic reload from rendering stale compiled Haml.

Keep the existing Ruby dependencies unchanged. vite_ruby 3.10.2 already supports vite-plugin-ruby 5.2.x, while updating it would also pull in rack-proxy 1.0 and break the Rails development proxy because of that dependency major version change in backend policy.

Refresh and deduplicate the pnpm lockfile. The initial pnpm dedupe was blocked by the minimum-release-age policy, so temporarily exempt picomatch@4.0.7 and vite-plugin-ruby@5.2.3 through the workspace configuration; pnpm-update-js-packages refreshes those exemptions on later updates.

codex resume 01a04431-06e8-7763-89bc-f735429ac1f7

Version 5.2.3 adds native Vite 8 WebSocket configuration support through ElMassimo/vite_ruby#620, allowing `vite.config.mjs` to call `RubyPlugin()` directly and remove the `RubyPluginWithWebSocketConfig` transformation.

Set `skipProxy` to load development entrypoints directly from Vite. The Vite client can then derive its WebSocket address from its own script URL, making the explicit `server.ws.clientPort` workaround and its config regression spec unnecessary. Permit only the local Vite HTTP and WebSocket paths in the domain-restricted Cuprite driver so feature specs can use the live server.

Delay `vite-plugin-full-reload` notifications by 100 ms so the Rails evented view reloader can invalidate changed server-rendered templates before the browser requests them. This uses the Rails-specific `delay` option documented at https://github.com/ElMassimo/vite-plugin-full-reload#configuration-%EF%B8%8F and prevents the first automatic reload from rendering stale compiled Haml.

Keep the existing Ruby dependencies unchanged. `vite_ruby` 3.10.2 already supports `vite-plugin-ruby` 5.2.x, while updating it would also pull in `rack-proxy` 1.0 and break the Rails development proxy because of that dependency major version change in backend policy.

Refresh and deduplicate the `pnpm` lockfile. The initial `pnpm dedupe` was blocked by the minimum-release-age policy, so temporarily exempt `picomatch@4.0.7` and `vite-plugin-ruby@5.2.3` through the workspace configuration; `pnpm-update-js-packages` refreshes those exemptions on later updates.

codex resume 01a04431-06e8-7763-89bc-f735429ac1f7
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f91acb6) to head (f288fbc).

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #9301   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          294       294           
  Lines         4323      4323           
=========================================
  Hits          4323      4323           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@davidrunger
davidrunger merged commit 99cdeff into main Aug 27, 2026
6 checks passed
@davidrunger
davidrunger deleted the bump-vite-plugin-ruby branch August 27, 2026 18:35
davidrunger added a commit that referenced this pull request Aug 27, 2026
Upgrade `vite_ruby` from 3.10.2 to 3.10.4. Version 3.10.3 relaxed its
`rack-proxy` dependency for
ElMassimo/vite_ruby#619, and 3.10.4 makes the
Vite Ruby dependency updater respect conservative version constraints.

This bumps `rack-proxy` from 0.8.3 to 1.0.1, which would have caused a
problem if we didn't have `"skipProxy": true` in `config/vite.json`
because version 1.0 changed Host-derived backend requests to return HTTP
502 unless dynamic backends are explicitly allowed
(https://github.com/ncr/rack-proxy/blob/master/CHANGELOG.md#100---2026-07-18).
`ViteRuby::DevServerProxy` still rewrites `HTTP_HOST` without
configuring an explicit backend, so accepting the newly allowed major
release would break proxied `/vite/...` requests. However, since we just
added `"skipProxy": true` in #9301 /
99cdeff , we skirt around this issue.

codex resume 01a04431-06e8-7763-89bc-f735429ac1f7
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.

1 participant