Skip to content

chore(frontend): migrate to Tailwind v4 + DaisyUI v5 + Vite 8 + TS 6#523

Merged
Dumbris merged 8 commits into
mainfrom
055-frontend-major-upgrades
May 25, 2026
Merged

chore(frontend): migrate to Tailwind v4 + DaisyUI v5 + Vite 8 + TS 6#523
Dumbris merged 8 commits into
mainfrom
055-frontend-major-upgrades

Conversation

@Dumbris
Copy link
Copy Markdown
Member

@Dumbris Dumbris commented May 25, 2026

Related #498

Migrates the embedded Vue 3 web UI across the four bundled major upgrades that Dependabot grouped into the closed PR #498. No backend/Go behavior changes — only frontend sources, config, lockfile, and the re-embedded frontend/dist.

Major upgrades

Package Before After
tailwindcss 3.4 4.3 (CSS-first @import "tailwindcss" + @tailwindcss/postcss; tailwind.config.cjs + autoprefixer removed)
daisyui 4.12 5.5 (@plugin "daisyui" in CSS; all 32 themes preserved)
vite 5.4 8.0 (rolldown; base:'/ui/' + @ alias preserved; @vitejs/plugin-vue 5→6)
typescript 5.9 6.0 (dropped baseUrl/TS5101; vue-tsc 2→3, @vue/tsconfig→0.9)
vitest 2 3 (Vite-8 peer compat); Node engines 18→22.18

Code fixes

  • Utility renames: flex-shrink-0shrink-0, bg-opacity-50bg-black/50
  • @reference added to JsonViewer scoped @apply; inlined @apply of custom classes (v4 forbids it)

DaisyUI v5 component regressions (caught in review, fixed)

  • Forms: v5 removed .form-control and repurposed .label/.label-text → labels collapsed inline across ~16 views. Restored v4 layout via an unlayered .form-control/.label compat shim in main.css (unlayered CSS overrides DaisyUI's cascade layer — no need to edit every file).
  • Tabs: tabs-boxedtabs-box, tabs-borderedtabs-border (tabs were rendering as plain text).
  • Theme dropdown: widened (w-72 + flex-nowrap) and dropped dropdown-end so the left-sidebar menu opens on-screen instead of off the left edge.

Testing

  • npm run build green; Vitest 79/79
  • make build / go build -tags server green; 0 npm vulnerabilities
  • Playwright before/after sweep (9 views) + QA use-case suite (6 cases, 0 fatal console errors)
  • Full verification trace + self-contained HTML report under specs/055-frontend-major-upgrades/verification/

Note for reviewers

DaisyUI v5's refreshed default-theme palette shifts primary buttons from indigo to a brighter blue (kept intentionally per maintainer call). Pinnable via a custom theme block if exact color parity is later required.

Dumbris added 2 commits May 22, 2026 08:22
Related #498

Migrates the embedded Vue 3 web UI across the four bundled major upgrades
that Dependabot grouped into the closed PR #498.

## Changes
- Tailwind v4 CSS-first config (@import "tailwindcss") + @tailwindcss/postcss;
  removed tailwind.config.cjs and autoprefixer
- DaisyUI v5 @plugin registration in CSS; all 32 themes preserved
  (light --default, dark --prefersdark)
- Vite 5->8 (rolldown); base '/ui/' + @ alias preserved; @vitejs/plugin-vue 5->6
- TypeScript 5->6: dropped tsconfig baseUrl (TS5101); vue-tsc 2->3, @vue/tsconfig ->0.9
- vitest 2->3 for Vite-8 peer compatibility; Node engines 18->22.18
- Utility renames: flex-shrink-0->shrink-0, bg-opacity-50->bg-black/50
- @reference added to JsonViewer scoped @apply; inlined @apply of custom classes

## DaisyUI v5 component fixes (caught in review)
- Restored v4 form layout via an unlayered .form-control/.label compat shim
  (v5 removed form-control and repurposed label) across ~16 form views
- Tab containers tabs-boxed->tabs-box, tabs-bordered->tabs-border
- Theme dropdown: widened (w-72 + flex-nowrap) and dropped dropdown-end so the
  left-sidebar menu opens on-screen instead of off the left edge

## Testing
- npm run build green; Vitest 79/79
- make build / go build -tags server green; 0 npm vulnerabilities
- Playwright before/after sweep (9 views) + QA use-case suite (6 cases, 0 fatal
  console errors); verification trace + report under specs/055-*/verification/

## Note
- DaisyUI v5's refreshed default-theme palette shifts primary buttons from
  indigo to blue (kept intentionally); pinnable via a custom theme block if
  exact color parity is later required
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 25, 2026

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: dc86cdb
Status: ✅  Deploy successful!
Preview URL: https://c016c0d0.mcpproxy-docs.pages.dev
Branch Preview URL: https://055-frontend-major-upgrades.mcpproxy-docs.pages.dev

View logs

Related #498

DaisyUI v5 gives .input/.select/.textarea an intrinsic width, so the
.form-control flex `align-items: stretch` no longer fills the row the way
v4 did — form inputs rendered at ~half width. Restore full-width controls
inside form fields via the unlayered compat shim. Refresh verification shots.
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Dumbris added 3 commits May 25, 2026 15:33
Related #498

DaisyUI v5 renamed all theme CSS variables (--su->--color-success,
--p->--color-primary, --b1/2/3->--color-base-100/200/300,
--bc->--color-base-content) and the variable now holds the complete color
(so the hsl()/oklch() wrapper must be dropped). The undefined v4 short vars
resolved to black/none, which turned the dashboard connection dots/lines
black and dropped the MCP logo glow. Converted ~50 references across
Dashboard, TokenPieChart, HintsPanel and CollapsibleHintsPanel; opacity
uses become color-mix(in oklch, <color> N%, transparent).

Also: v5 .menu defaults to width:max-content, so the left sidebar nav items
(and their active highlight) only spanned content width. Added w-full to the
sidebar .menu lists (ul width 117px -> 231px, fills the rail).

Verified: dots fill oklch(0.62 0.194 149.214) (green); logo glow restored;
make build green.
…grades

# Conflicts:
#	frontend/src/components/ServerCard.vue
#	specs/053-oss-repo-improvements/spec.md
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 25, 2026

📦 Build Artifacts

Workflow Run: View Run
Branch: 055-frontend-major-upgrades

Available Artifacts

  • archive-darwin-amd64 (27 MB)
  • archive-darwin-arm64 (25 MB)
  • archive-linux-amd64 (16 MB)
  • archive-linux-arm64 (14 MB)
  • archive-windows-amd64 (27 MB)
  • archive-windows-arm64 (24 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (21 MB)
  • installer-dmg-darwin-arm64 (18 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 26401633620 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

@Dumbris Dumbris merged commit 28c7b72 into main May 25, 2026
38 checks passed
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