mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-06 02:49:56 +00:00
fix(web): switch lucide-icons from deep ESM paths to standard re-exports
Deep imports from lucide-react/dist/esm/icons/*.js are internal paths that broke the Vercel production build. Replaced with standard named re-exports from lucide-react — keeps the centralized module pattern without relying on fragile internal paths. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c8cd733815
commit
29795bb86e
1 changed files with 7 additions and 132 deletions
|
|
@ -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';
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue