Skip to content

Update all outdated dependencies to latest#98

Merged
danielpaul merged 1 commit into
mainfrom
claude/magical-archimedes-3pWxH
Jun 4, 2026
Merged

Update all outdated dependencies to latest#98
danielpaul merged 1 commit into
mainfrom
claude/magical-archimedes-3pWxH

Conversation

@danielpaul

Copy link
Copy Markdown
Owner

Brings every outdated gem and npm package up to its newest version, including the major-version upgrades, with the required migrations applied and the full test/build matrix verified.

Gems

Gem From To
inertia_rails 3.10 3.21 (v3)
clerk-sdk-ruby 4.2 5.1
jwt 2.10 3.2
sentry-ruby / sentry-rails 5.26 6.6
puma 6.6 8.0
solid_cable 3.0 4.0
kamal 2.7 2.11
propshaft 1.2 1.3

…plus all remaining minor/patch bumps (bootsnap, faraday, rspec-rails, js-routes, bullet, factory_bot, selenium-webdriver, etc.). rails was already at the latest 8.1.x.

npm

Package From To
@inertiajs/react 2.3 3.3 (v3 client)
vite 7.3 8.0
@vitejs/plugin-react 4.7 6.0
typescript 5.9 6.0
lucide-react <1.0 1.17
globals 16.5 17.6
prettier-plugin-tailwindcss 0.6 0.8
@sentry/react 10.55 10.56

Migrations / code changes

  • Inertia.js v3 — enabled the v3-required server settings in config/initializers/inertia_rails.rb (serialize the initial page in a <script> element, data-inertia head attribute, always include the errors hash), and renamed the managed <title inertia><title data-inertia> in the app layout. No client API changes were needed (no axios/qs, <Deferred>, router.cancel, hideProgress, or arrow-function layouts in use; clerk 5 keeps the same Clerk::Authenticatable / proxy surface).
  • TypeScript 6 — removed the now-deprecated baseUrl option from both tsconfigs; paths resolve relative to each config so the @/* alias is unchanged.

Notable decision

  • eslint held at 9.x. Its latest (10.x) has no compatible eslint-plugin-react / eslint-plugin-import release yet (both peer-cap at eslint 9). Forcing eslint 10 would break npm run lint. typescript-eslint already supports both eslint 9 and TypeScript 6.

Verification (all green)

  • JS: tsc type-check, eslint, prettier, vitest (5), Vite client + SSR builds, npm audit --audit-level=high (0 vulnerabilities)
  • Ruby: eager-load/zeitwerk boot, rubocop (0 offenses), brakeman (0 warnings), full RSpec suite — 63 examples, 0 failures

🤖 Generated with Claude Code

https://claude.ai/code/session_01D4qYdK1vwbg19M2TB2D386


Generated by Claude Code

Bump every outdated gem and npm package to its newest version, including
the major-version upgrades, and apply the required migrations.

Gems:
- inertia_rails 3.10 -> 3.21 (Inertia.js v3)
- clerk-sdk-ruby 4.2 -> 5.1, jwt 2 -> 3
- sentry-ruby/-rails 5.26 -> 6.6
- puma 6 -> 8, solid_cable 3 -> 4, kamal 2.7 -> 2.11, propshaft 1.2 -> 1.3
- plus all remaining minor/patch bumps (bootsnap, faraday, rspec, etc.)

npm:
- @inertiajs/react 2 -> 3 (Inertia.js v3 client)
- vite 7 -> 8, @vitejs/plugin-react 4 -> 6, typescript 5 -> 6
- lucide-react <1 -> 1.17, globals 16 -> 17, prettier-plugin-tailwindcss
  0.6 -> 0.8, @sentry/react 10.55 -> 10.56

Inertia.js v3 migration:
- Enable the v3-required server settings (script element for the initial
  page, data-inertia head attribute, always include the errors hash).
- Rename the managed <title> attribute from `inertia` to `data-inertia`.

TypeScript 6: drop the now-deprecated `baseUrl` compiler option; `paths`
resolve relative to each tsconfig, so the `@/*` alias is unchanged.

eslint is intentionally held at 9.x: its latest 10 release has no
compatible eslint-plugin-react / eslint-plugin-import release yet.

Verified: tsc, eslint, prettier, vitest, client + SSR Vite builds,
npm audit (0 high), rubocop, brakeman, and the full RSpec suite (63
examples, 0 failures) all pass.

https://claude.ai/code/session_01D4qYdK1vwbg19M2TB2D386
@danielpaul danielpaul marked this pull request as ready for review June 4, 2026 19:04
@danielpaul danielpaul merged commit dcdd1e0 into main Jun 4, 2026
4 checks passed
@danielpaul danielpaul deleted the claude/magical-archimedes-3pWxH branch June 4, 2026 19:05
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.

2 participants