Delete unreachable frontend scaffolding #47
Labels
No labels
bug
duplicate
enhancement
good first issue
help wanted
question
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lvl0/incr#47
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pure dead-code removal. No behaviour change — nothing here is reachable from a routed page.
Context
Verified by tracing imports from the two pages: the layout/chrome cluster imports itself but no page imports any of it.
dashboard.tsxrenders a bare<div className="min-h-screen bg-black">.Scope
Layout / chrome cluster (unreachable):
components/Display/:AppShell,AppSidebar,AppSidebarHeader,AppHeader,AppContent,NavMain,NavUser,NavFooter,Breadcrumbs,AppLogo,AppLogoIconlayouts/app-layout.tsx,layouts/app/(2),layouts/auth-layout.tsx,layouts/auth/(3)Settings components (no settings page exists):
components/Settings/:DeleteUser,UserInfo,UserMenuContentUnused shadcn primitives (0 importers outside
ui/):alert,badge,checkbox,collapsible,icon,PlaceholderPattern,select,separator,skeleton,toggle,ToggleGroupsidebar.tsx— 7 importers, all inside the dead cluster aboveUnrouted page:
pages/welcome.tsx— Laravel starter landing page, not referenced inroutes/web.phpOut of scope
ssr.tsx,app.tsx, Ziggy and the Inertia/React deps stay for now — they come out with the Livewire migration.Acceptance criteria
npm run buildsucceedsDone
Two commits on
release/0.4.0:d379f00— 51 files deleted,resources/js74 → 23, −4169 lines1a7b913—.dockerignorefixDeletion method
Rather than working from the hand-traced list in the ticket, computed transitive import reachability from the three real entry points (
app.tsx,ssr.tsx,dashboard.tsx). That found 54 of 74 files unreachable — more than originally listed. The extras were all only referenced by the dead layout cluster:avatar,breadcrumb,card,dialog,sheet,tooltip,DropdownMenu,NavigationMenu,heading,icon,TextLink,HeadingSmall, and 3 hooks.Deviations
Kept 3 files the analysis called dead —
types/global.d.ts,types/index.d.ts,types/vite-env.d.tsare ambient declarations pulled in bytsconfig.jsoninclude, not by imports. Deleting them breaks the build.Took 2 files from #48 —
AssetSetupForm.tsxandUpdatePriceForm.tsx, orphaned bybace06dand carrying the only remaining ESLint errors. Noted on #48.Folded in dev-container fixes (approved during the work):
docker/dev/docker-compose.yml: addedname: incr, prefixed volumes toincr_db_data/incr_app_node_modules. Both this project and ffr had compose files underdocker/dev/, so podman-compose derived the same pod namepod_devfor both — incr'sdev-downwas tearing down ffr's running containers, and the shared unprefixeddb_datavolume is the leading suspect for an InnoDB corruption that crash-looped MySQL..dockerignore: excludeddocker/devwhile the dev Dockerfile doesCOPY docker/dev/container-start.sh, so the dev image could not rebuild. Un-ignored that one path with!. Pre-existing sincefe3711e, latent until a rebuild was forced.Gates
npm run buildnpx eslint .Found along the way
code-reviewersurfaced thatGET /registeris broken —RegisteredUserController:28rendersauth/register, but that page component has not existed since04fbda4. Pre-existing, not caused by this ticket, and invisible to build/lint because Inertia resolves pages at runtime. Recorded on #53, which deletes the controller and route outright..claude/PLATFORM.mdupdated: volume names, plus new gotchas for the pod collision, the incr/ffr port conflict (8000/5173/3307 — only one stack can run at a time), and the.dockerignorenegation.