Bump frontend and component library dependencies

Merged
MA
2mo ago
+714-626

All Submissions:

  • Have you followed the guidelines stated in CONTRIBUTING.md file?
  • Have you checked to ensure there aren't any other open Pull Requests for the desired changed?

Type of change

  • New feature (non-breaking change which adds functionality)

Description

This PR bumps frontend and component library dependencies to their current releases (stable versions aged ≥ 7 days) across multiple packages.

Core frontend dependencies (reflex-base):

  • react / react-dom: 19.2.6 → 19.2.8
  • react-router, react-router-dom, @react-router/node, @react-router/dev, @react-router/fs-routes: 7.15.0 → 7.18.2 (includes a security fix; staying within 7.x)
  • isbot: 5.1.40 → 5.2.1
  • universal-cookie: 7.2.2 → 8.1.2
  • postcss: 8.5.14 → 8.5.22
  • autoprefixer: 10.5.0 → 10.5.4
  • @tailwindcss/typography: 0.5.19 → 0.5.20
  • Bun: 1.3.13 → 1.3.14
  • rich upper bound: <15 → <16 (adopting rich 15)

Component library updates:

  • reflex-components-plotly: react-plotly.js 2.6.0 → 4.0.0; plotly.js and its dist-min / locale variants 3.5.x → 3.7.0
  • reflex-components-code: shiki / @shikijs/transformers 3.3.0 → 4.3.1
  • reflex-components-core: react-error-boundary 6.1.1 → 6.1.2
  • reflex-components-lucide: lucide-react 1.14.0 → 1.26.0 (adds 46 new icons to the wrapper)
  • reflex-components-radix:
    • @radix-ui/react-accordion: 1.2.12 → 1.2.18
    • @radix-ui/react-dialog: 1.1.15 → 1.1.21 (also the react-dialog dep behind drawer)
    • @radix-ui/react-form: 0.1.8 → 0.1.14
    • @radix-ui/react-progress: 1.1.8 → 1.1.14
    • @radix-ui/react-slider: 1.3.6 → 1.4.5
  • reflex-components-internal: @hugeicons/react 1.1.6 → 1.1.9, @hugeicons/core-free-icons 4.2.0 → 4.2.3, @icons-pack/react-simple-icons 13.8.0 → 13.13.0
  • reflex-site-shared: react-medium-image-zoom 5.4.2 → 5.4.8, @inkeep/cxkit-react 0.5.115 → 0.5.119

Other changes:

  • Replaced the now-redundant cookie package.json override with a postcss override pinning transitive resolutions to 8.5.22, keeping them on a patched release (≥ 8.5.18) for a security advisory. universal-cookie 8 and react-router both resolve cookie to 1.x on their own.
  • Updated reflex-hosting-cli to support rich 15.
  • Regenerated .pyi stubs for affected components.

Intentionally held back:

  • tailwindcss / @tailwindcss/postcss — kept at 4.3.0. 4.3.1 reworked @source/content file scanning (tailwindlabs/tailwindcss#20214 scan git-ignored referenced dirs, #20217 glob traversal, #20203 symlink preservation). reflex points tailwind's content globs at directories inside the git-ignored .web/, so 4.3.1+ began walking that tree; at the docs site's ~950-page scale (plus the build/ prerender output under .web/) the scan explodes, turning the prod export from under a minute into 900s+ (CI timeout). Adopting 4.3.1+ later will require teaching reflex to exclude the git-ignored/build trees from tailwind's scan. @tailwindcss/typography 0.5.20 is a separate plugin and is unaffected.
  • vite kept at 8.0.16, because 8.2.0 seemed to make the test_memo.py suite more adverse to timing issues.

All changes are non-breaking and maintain backward compatibility.

Test Plan

Existing unit tests pass. The dependency updates are configuration-only changes with no public API modifications; .pyi stub regeneration is automated and validated by the build system. The full dependency set is exercised by the reflex-docs prod-build CI job; the only held-back package (tailwindcss) is pinned to the version main builds green with.

https://claude.ai/code/session_017VbHTc3JxgKUNBCrCMN2cp