chore: remove unused code and dependencies identified by knip (Vibe Kanban) (#1499)

* Here's a summary of what was cleaned up:

## Removed Unused Files (11 files)
- `frontend/src/components/layout/ResponsiveTwoPane.tsx`
- `frontend/src/components/OrgMemberAvatars.tsx`
- `frontend/src/components/tasks/FollowUpStatusRow.tsx`
- `frontend/src/components/tasks/TaskRelationshipCard.tsx`
- `frontend/src/components/tasks/TaskRelationshipViewer.tsx`
- `frontend/src/components/ui/image-upload-section.tsx`
- `frontend/src/components/ui/tabs.tsx`
- `frontend/src/components/ui/title-description-editor.tsx`
- `frontend/src/lib/caretPosition.ts`
- `frontend/src/utils/markdownImages.ts`
- `remote-frontend/src/App.tsx`

## Removed Unused Dependencies (10 packages from frontend/package.json)
- `@dnd-kit/modifiers`
- `@lexical/utils`
- `@radix-ui/react-tabs`
- `@tailwindcss/typography`
- `@tanstack/react-devtools`
- `@tanstack/react-form-devtools`
- `@types/react-window`
- `react-use-websocket`
- `react-window`
- `zod`

## Removed Unused Exports
- `useTabNavigation` hook from `TabNavigationContext.tsx`

## Not Removed (false positives or intentional)
- `shared/types.ts` - auto-generated file used throughout the project
- `@rjsf/shadcn` - used in tailwind.config.js content paths
- `wa-sqlite` - used in vite.config.ts optimizeDeps
- `eslint-plugin-prettier`, `vite` (root) - kept per user preference
- Barrel re-exports in index.ts files (dialogs, hooks, ui) - intentional public APIs
- Type exports - part of public API contracts

* Done. Restored `remote-frontend/src/App.tsx` as a placeholder.

* Update pnpm lockfile after removing unused dependencies

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Gabriel Gordon-Hall
2025-12-11 12:45:04 +00:00
committed by GitHub
parent b37672a475
commit 2366e4ad23
13 changed files with 1 additions and 1408 deletions

View File

@@ -20,7 +20,6 @@
"@codemirror/lint": "^6.8.5",
"@codemirror/view": "^6.38.1",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@ebay/nice-modal-react": "^1.2.13",
"@git-diff-view/file": "^0.0.30",
@@ -31,26 +30,20 @@
"@lexical/markdown": "^0.36.2",
"@lexical/react": "^0.36.2",
"@lexical/rich-text": "^0.36.2",
"@lexical/utils": "^0.36.2",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.7",
"@rjsf/shadcn": "6.1.1",
"@sentry/react": "^9.34.0",
"@sentry/vite-plugin": "^3.5.0",
"@tailwindcss/typography": "^0.5.16",
"@tanstack/electric-db-collection": "^0.2.6",
"@tanstack/react-db": "^0.1.50",
"@tanstack/react-devtools": "^0.8.0",
"@tanstack/react-form": "^1.23.8",
"@tanstack/react-form-devtools": "^0.1.8",
"@tanstack/react-query": "^5.85.5",
"@types/react-window": "^1.8.8",
"@uiw/react-codemirror": "^4.25.1",
"@virtuoso.dev/message-list": "^1.13.3",
"class-variance-authority": "^0.7.0",
@@ -72,16 +65,13 @@
"react-i18next": "^15.7.3",
"react-resizable-panels": "^3.0.6",
"react-router-dom": "^6.8.1",
"react-use-websocket": "^4.7.0",
"react-virtuoso": "^4.14.0",
"react-window": "^1.8.11",
"rfc6902": "^5.1.2",
"simple-icons": "^15.16.0",
"tailwind-merge": "^2.2.0",
"tailwindcss-animate": "^1.0.7",
"vibe-kanban-web-companion": "^0.0.4",
"wa-sqlite": "^1.0.0",
"zod": "^4.1.12",
"zustand": "^4.5.4"
},
"devDependencies": {