diff --git a/gitnexus-web/src/lib/lucide-icons.tsx b/gitnexus-web/src/lib/lucide-icons.tsx index dd2dee1da..f19c7dbfa 100644 --- a/gitnexus-web/src/lib/lucide-icons.tsx +++ b/gitnexus-web/src/lib/lucide-icons.tsx @@ -1,136 +1,11 @@ /** - * Direct icon imports from lucide-react (bundle-size optimization). - * Avoids loading the full barrel (~1500+ modules). Each icon loads only its own module. - * See Vercel React Best Practices rule 2.1 (Avoid Barrel File Imports). + * Centralized icon re-exports from lucide-react. + * + * All components import icons from this module (@/lib/lucide-icons) rather + * than directly from lucide-react. This provides a single place to manage + * which icons are used and allows future optimization (e.g., tree-shaking + * configuration, icon subset bundling) without touching every component. */ -// Direct ESM paths so only these icon modules are bundled, not the full barrel -// @ts-ignore — no types for deep ESM path -import AlertCircle from 'lucide-react/dist/esm/icons/alert-circle.js'; -// @ts-ignore — no types for deep ESM path -import AlertTriangle from 'lucide-react/dist/esm/icons/alert-triangle.js'; -// @ts-ignore — no types for deep ESM path -import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right.js'; -// @ts-ignore — no types for deep ESM path -import Brain from 'lucide-react/dist/esm/icons/brain.js'; -// @ts-ignore — no types for deep ESM path -import Box from 'lucide-react/dist/esm/icons/box.js'; -// @ts-ignore — no types for deep ESM path -import Braces from 'lucide-react/dist/esm/icons/braces.js'; -// @ts-ignore — no types for deep ESM path -import Check from 'lucide-react/dist/esm/icons/check.js'; -// @ts-ignore — no types for deep ESM path -import ChevronDown from 'lucide-react/dist/esm/icons/chevron-down.js'; -// @ts-ignore — no types for deep ESM path -import ChevronRight from 'lucide-react/dist/esm/icons/chevron-right.js'; -// @ts-ignore — no types for deep ESM path -import ChevronUp from 'lucide-react/dist/esm/icons/chevron-up.js'; -// @ts-ignore — no types for deep ESM path -import Code from 'lucide-react/dist/esm/icons/code.js'; -// @ts-ignore — no types for deep ESM path -import Copy from 'lucide-react/dist/esm/icons/copy.js'; -// @ts-ignore — no types for deep ESM path -import Eye from 'lucide-react/dist/esm/icons/eye.js'; -// @ts-ignore — no types for deep ESM path -import EyeOff from 'lucide-react/dist/esm/icons/eye-off.js'; -// @ts-ignore — no types for deep ESM path -import FileArchive from 'lucide-react/dist/esm/icons/file-archive.js'; -// @ts-ignore — no types for deep ESM path -import FileCode from 'lucide-react/dist/esm/icons/file-code.js'; -// @ts-ignore — no types for deep ESM path -import Filter from 'lucide-react/dist/esm/icons/filter.js'; -// @ts-ignore — no types for deep ESM path -import FlaskConical from 'lucide-react/dist/esm/icons/flask-conical.js'; -// @ts-ignore — no types for deep ESM path -import Focus from 'lucide-react/dist/esm/icons/focus.js'; -// @ts-ignore — no types for deep ESM path -import Folder from 'lucide-react/dist/esm/icons/folder.js'; -// @ts-ignore — no types for deep ESM path -import FolderOpen from 'lucide-react/dist/esm/icons/folder-open.js'; -// @ts-ignore — no types for deep ESM path -import GitBranch from 'lucide-react/dist/esm/icons/git-branch.js'; -// @ts-ignore — no types for deep ESM path -import Github from 'lucide-react/dist/esm/icons/github.js'; -// @ts-ignore — no types for deep ESM path -import Globe from 'lucide-react/dist/esm/icons/globe.js'; -// @ts-ignore — no types for deep ESM path -import Hash from 'lucide-react/dist/esm/icons/hash.js'; -// @ts-ignore — no types for deep ESM path -import Heart from 'lucide-react/dist/esm/icons/heart.js'; -// @ts-ignore — no types for deep ESM path -import HelpCircle from 'lucide-react/dist/esm/icons/help-circle.js'; -// @ts-ignore — no types for deep ESM path -import Home from 'lucide-react/dist/esm/icons/home.js'; -// @ts-ignore — no types for deep ESM path -import Key from 'lucide-react/dist/esm/icons/key.js'; -// @ts-ignore — no types for deep ESM path -import Layers from 'lucide-react/dist/esm/icons/layers.js'; -// @ts-ignore — no types for deep ESM path -import Lightbulb from 'lucide-react/dist/esm/icons/lightbulb.js'; -// @ts-ignore — no types for deep ESM path -import LightbulbOff from 'lucide-react/dist/esm/icons/lightbulb-off.js'; -// @ts-ignore — no types for deep ESM path -import Loader2 from 'lucide-react/dist/esm/icons/loader-2.js'; -// @ts-ignore — no types for deep ESM path -import Maximize2 from 'lucide-react/dist/esm/icons/maximize-2.js'; -// @ts-ignore — no types for deep ESM path -import MousePointerClick from 'lucide-react/dist/esm/icons/mouse-pointer-click.js'; -// @ts-ignore — no types for deep ESM path -import PanelLeft from 'lucide-react/dist/esm/icons/panel-left.js'; -// @ts-ignore — no types for deep ESM path -import PanelLeftClose from 'lucide-react/dist/esm/icons/panel-left-close.js'; -// @ts-ignore — no types for deep ESM path -import PanelRightClose from 'lucide-react/dist/esm/icons/panel-right-close.js'; -// @ts-ignore — no types for deep ESM path -import Pause from 'lucide-react/dist/esm/icons/pause.js'; -// @ts-ignore — no types for deep ESM path -import Play from 'lucide-react/dist/esm/icons/play.js'; -// @ts-ignore — no types for deep ESM path -import RefreshCw from 'lucide-react/dist/esm/icons/refresh-cw.js'; -// @ts-ignore — no types for deep ESM path -import Rocket from 'lucide-react/dist/esm/icons/rocket.js'; -// @ts-ignore — no types for deep ESM path -import RotateCcw from 'lucide-react/dist/esm/icons/rotate-ccw.js'; -// @ts-ignore — no types for deep ESM path -import Search from 'lucide-react/dist/esm/icons/search.js'; -// @ts-ignore — no types for deep ESM path -import Send from 'lucide-react/dist/esm/icons/send.js'; -// @ts-ignore — no types for deep ESM path -import Server from 'lucide-react/dist/esm/icons/server.js'; -// @ts-ignore — no types for deep ESM path -import Settings from 'lucide-react/dist/esm/icons/settings.js'; -// @ts-ignore — no types for deep ESM path -import SkipForward from 'lucide-react/dist/esm/icons/skip-forward.js'; -// @ts-ignore — no types for deep ESM path -import Snail from 'lucide-react/dist/esm/icons/snail.js'; -// @ts-ignore — no types for deep ESM path -import Sparkles from 'lucide-react/dist/esm/icons/sparkles.js'; -// @ts-ignore — no types for deep ESM path -import Square from 'lucide-react/dist/esm/icons/square.js'; -// @ts-ignore — no types for deep ESM path -import Star from 'lucide-react/dist/esm/icons/star.js'; -// @ts-ignore — no types for deep ESM path -import Table from 'lucide-react/dist/esm/icons/table.js'; -// @ts-ignore — no types for deep ESM path -import Target from 'lucide-react/dist/esm/icons/target.js'; -// @ts-ignore — no types for deep ESM path -import Terminal from 'lucide-react/dist/esm/icons/terminal.js'; -// @ts-ignore — no types for deep ESM path -import Trash2 from 'lucide-react/dist/esm/icons/trash-2.js'; -// @ts-ignore — no types for deep ESM path -import Upload from 'lucide-react/dist/esm/icons/upload.js'; -// @ts-ignore — no types for deep ESM path -import User from 'lucide-react/dist/esm/icons/user.js'; -// @ts-ignore — no types for deep ESM path -import Variable from 'lucide-react/dist/esm/icons/variable.js'; -// @ts-ignore — no types for deep ESM path -import X from 'lucide-react/dist/esm/icons/x.js'; -// @ts-ignore — no types for deep ESM path -import Zap from 'lucide-react/dist/esm/icons/zap.js'; -// @ts-ignore — no types for deep ESM path -import ZoomIn from 'lucide-react/dist/esm/icons/zoom-in.js'; -// @ts-ignore — no types for deep ESM path -import ZoomOut from 'lucide-react/dist/esm/icons/zoom-out.js'; - export { AlertCircle, AlertTriangle, @@ -195,4 +70,4 @@ export { Zap, ZoomIn, ZoomOut, -}; +} from 'lucide-react';