The lint config had been sitting in the repo for a week, untouched, when I finally ran it across src/components/ui/ on the afternoon of April 4th. I was expecting maybe a stray console.log, a forgotten TODO — the kind of trivialities you hunt down right before any first publish. What I got back instead was a list of five files where VariantProps was imported but never used: breadcrumb, divider, drawer, pagination, and toast. Fine. Dead imports. Delete them and move on.
But then I opened breadcrumb.tsx and noticed something worse: the cva call itself was also completely unused. Not just the type import — the entire const breadcrumbVariants = cva(...) block was sitting there, fully defined, exported in spirit, and referenced by absolutely nothing. The component rendered its classes via cn() directly. The CVA scaffolding was pure decoration.
I had written that file. Yet I had no memory of writing the CVA part of it, because I had not written it deliberately. I had simply pasted the boilerplate shape of a . Source code on . Follow updates on X at @7onicHQ.
SOCIAL SHARE CARD GENERATOR