Menu

1 / 2

A small Vite plugin for moving heavy JSX attributes into comments

DEV Community·Thanh Dat Vo·6 months ago
#NeK8k0BL
#vite#jsx#react#javascript#class
Reading 0:00
15s threshold

Hi everybody,

I'm a software engineer for as long as I can remember.

When working with web application frameworks, I often get tired when having to scan long JSX, mostly because of long class names.

I had an idea of writing a Vite plugin that move the classname attributes into comments above element.

For example:

Before

< h1 class = "rounded-lg bg-blue-500 px-4 py-2 text-white" > Hello Mom </ h1 >

Enter fullscreen mode

Exit fullscreen mode

After

{ /* @class rounded-lg bg-blue-500 */ } { /* @class px-4 py-2 text-white */ } < h1 > Hello Mom </ h1 >;

Enter fullscreen mode

Exit fullscreen mode

Beside making JSX shorter and easier to scan, this also let you try new attribute values during development while keeping the original JSX unchanged.

For example:

{ /* @class rounded-lg bg-blue-500 */ } < h1 class = "title" > Hello Mom </ h1 >;

Enter fullscreen mode

Exit fullscreen mode

You can try them online:

React playground

Solid playground

Please switch between App.before.tsx and App.after.tsx to…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.