chore(ui,deps): bump tailwindcss v4, typescript v6, lucide-react v1, npm-minor-patch#1758
Open
jsonmp-k8 wants to merge 2 commits intokagent-dev:mainfrom
Open
chore(ui,deps): bump tailwindcss v4, typescript v6, lucide-react v1, npm-minor-patch#1758jsonmp-k8 wants to merge 2 commits intokagent-dev:mainfrom
jsonmp-k8 wants to merge 2 commits intokagent-dev:mainfrom
Conversation
…npm-minor-patch group Consolidates the four open dependabot UI PRs into a single change so the breaking changes are migrated together: - tailwindcss 3.4 -> 4.2.4 (closes kagent-dev#1751) - delete ui/tailwind.config.ts; move theme tokens to @theme inline in ui/src/app/globals.css (CSS-first config) - switch PostCSS to @tailwindcss/postcss; drop autoprefixer - replace tailwindcss-animate with tw-animate-css for v4 compat - dark mode preserved via @custom-variant dark - typescript 5.9.3 -> 6.0.2 (closes kagent-dev#1587) - @typescript-eslint chain bumped transitively to a version whose peer cap is <6.1.0, so the upgrade is satisfiable - lucide-react 0.577 -> 1.8.0 (closes kagent-dev#1665) - the Linkedin brand icon was removed in v1; replace the single callsite with an inline SVG - import LucideIcon as a type-only import (still exported as a type) - npm-minor-patch group (closes kagent-dev#1750) - react-hook-form, @vitest/browser-playwright, chromatic, cypress, msw, vite minor/patch bumps Pin eslint-plugin-react-hooks to 7.0.1 via overrides: the 7.0.1 -> 7.1.1 transitive bump introduces react-hooks/set-state-in-effect, which flags 23 pre-existing call sites. Fixing those is out of scope for a deps PR. Local verification: next build, eslint, jest (129/129), storybook build, dev server boot all pass. Signed-off-by: Jaison Paul <paul.jaison@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Consolidates multiple UI dependency upgrades (Tailwind v4, TypeScript v6, lucide-react v1, and other minor/patch bumps) and applies the required migration changes in the UI codebase (Tailwind CSS-first config and icon replacement).
Changes:
- Migrates Tailwind to v4 by removing
tailwind.config.ts, updatingglobals.cssto CSS-first Tailwind directives, and switching PostCSS to@tailwindcss/postcss. - Updates lucide-react usage for v1 (type-only
LucideIconimport; replaces removedLinkedinicon with inline SVG). - Bumps UI dependencies/devDependencies (Tailwind, TypeScript, MSW, Cypress, Vite, etc.) and pins
eslint-plugin-react-hooksviaoverrides.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ui/tailwind.config.ts | Removes Tailwind v3 JS/TS config in favor of Tailwind v4 CSS-first configuration. |
| ui/src/app/globals.css | Adds Tailwind v4 @import/@theme/@custom-variant and moves theme tokens/animations into CSS. |
| ui/postcss.config.mjs | Switches PostCSS plugin from tailwindcss (+ autoprefixer) to @tailwindcss/postcss. |
| ui/package.json | Bumps key UI deps/devDeps and adds an overrides pin for eslint-plugin-react-hooks. |
| ui/src/components/onboarding/steps/FinishStep.tsx | Replaces removed lucide brand icon (Linkedin) with an inline SVG component. |
| ui/src/components/create/SelectToolsDialog.tsx | Updates lucide-react LucideIcon to a type-only import for v1 compatibility. |
| ui/public/mockServiceWorker.js | Updates MSW worker metadata for the MSW version bump. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Consolidates the four open UI dependabot PRs into a single change so the major-version migrations land together with consistent CI signal. Each underlying PR was failing on
mainfor migration reasons rather than flakes.Supersedes / closes:
3.4 → 4.2.45.9.3 → 6.0.20.577 → 1.8react-hook-form,@vitest/browser-playwright,chromatic,cypress,msw,vite)Migration notes
tailwindcss v4 — v4 uses CSS-first config. Changes:
ui/tailwind.config.ts; moved theme tokens into@theme inline { ... }inui/src/app/globals.css.globals.cssnow uses@import \"tailwindcss\"and@import \"tw-animate-css\"instead of@tailwind base/components/utilities.@custom-variant dark (&:where(.dark, .dark *));.postcss.config.mjsswitched fromtailwindcss + autoprefixerto@tailwindcss/postcss(autoprefixer dropped — v4 handles vendor prefixes via Lightning CSS).tailwindcss-animate(v3-only) replaced withtw-animate-css. Allanimate-in,fade-in-0,slide-in-from-*,zoom-in-95, etc. utilities used by Radix components verified to render.typescript v6 —
@typescript-eslint/*peer cap raises to<6.1.0via the transitive bump that ships with this lockfile, so the upgrade resolves cleanly.lucide-react v1 — brand icons (
Linkedin,Github, etc.) were removed in v1. Replaced the only impacted call site (FinishStep.tsx) with an inline SVG.LucideIconis still exported as a type and is now imported viatype LucideIcon.eslint-plugin-react-hooks pin —
7.0.1 → 7.1.1(transitive) introducesreact-hooks/set-state-in-effect, which surfaces 23 pre-existing violations across the codebase (AuthContext,use-mobile,GroupedChats, etc.). Fixing those is a separate concern; pinning to7.0.1viaoverrideskeeps this PR scoped to dependency bumps.Local verification
npm run build(Next.js + TS)npm run lintnpm test(jest)npm run build-storybook/agentssmoke testbg-background,text-foreground, animation utilitiesCaveats
border-colordefaults differ subtly from v3. No deliberate visual changes were made.tsc --noEmiterror onPromptInstructionsTextarea.test.tsx(toBeInTheDocumentmatcher typing) reproduces onmainand is unrelated.