已解除速率限制,全面放开。
CollectUICollectUI

Shadcn 清理记录

项目从 shadcn 迁移至 HeroUI 的完整清理记录

Shadcn 清理记录

项目从 shadcn 迁移至 HeroUI,以下为完整清理内容。

一、packages/ui — 移除 shadcn 组件包

删除的文件结构

components.json

保留文件

路径说明
src/styles/globals.css仅含 @import "tailwindcss" + HeroUI 样式导入
src/index.ts空文件,供 tsc 通过

移除的依赖

packages/ui/package.json 移除:

shadcn, @base-ui/react, class-variance-authority, clsx,
tailwind-merge, lucide-react, sonner, tw-animate-css, next-themes

lucide-react 从 packages/ui 移除仅因为该包已无组件文件。它仍保留在 apps/web/package.json 中(loader.tsx 在用),且 HeroUI 生态后续也可能用到,不做删除。


二、apps/web — 移除使用 shadcn 的页面和组件

删除的文件结构

components.json

保留文件

路径说明
src/components/area-chart-demo.tsx使用 HeroUI Pro,不受影响
src/components/loader.tsx仅用 lucide-react,不受影响
src/routes/index.tsx首页,引用 area-chart-demo

__root.tsx 变更

操作内容
移除Toaster (sonner)、ThemeProvider (next-themes)、Headertrpc 类型引用
保留HeadContentOutletTanStackRouterDevtoolsReactQueryDevtools

utils/trpc.ts 变更

toast.error(...) 替换为 console.error(...),sonner 移除后的临时替代。

移除的依赖

apps/web/package.json 移除:

sonner, next-themes, embla-carousel, embla-carousel-react, tailwind-merge

三、根目录 — 清理 catalog

package.jsonworkspaces.catalog 移除了 next-themes: "^0.4.6",整个 monorepo 已无引用。

什么是 catalog? Bun workspace 的集中版本管理机制。子包用 "catalog:" 引用声明好的版本号,避免各写一遍。仅当整个 monorepo 无人使用时才从 catalog 删除。


四、配置清理

文件变更
packages/ui/tsconfig.json移除 @my-better-t-app/ui/* path mapping
apps/web/tsconfig.json移除 @my-better-t-app/ui/* path mapping,保留 @/*
apps/web/components.json删除

五、验证

安装依赖
bun install
构建验证
vite build
确认无残留
grep -rn "shadcn\|@my-better-t-app/ui/components\|next-themes\|sonner" \
  apps/web/src/ packages/ui/src/
# 返回空

How is this guide?

Last updated on

On this page