I should mention that I did a study about 6 months ago for a government client, and successfully convinced them to migrate away from Bootstrap 4, Font Awesome, and an in-house patchwork of 10 years of different css styles, to Tailwind CSS and Hero Icons in their mission critical app.
It took many long brain dump sessions, and some help from the U.S. Digital Service and Tailwind themselves.
At the end of the day, Tailwind solved more problems for them than it created.
You wouldn’t think that moving from loading icons via css versus loading them via inline svg’s would make a huge difference; but I found that it can actually reduce a second or two of render time from a legacy and bloated code base.
That was the last time I used bootstrap about 2-3 years ago before going all in on Hero Icons, Headless-UI, and css design tokens and utility classes (Tailwind)
My point was that a lot of use of bootstrap was through CDNs. Yes, there was plenty of npm downloads also. However comparing tailwind npm downloads vs bootstrap downloads is not a fair comparison of use.
They have different use cases and target audiences. A lot of people want to just chuck a button in a template and have it look in their internal tool that 3 people will see. They likely copied the dist/bootstrap.min.css file and never updated.
It's also likely all the users of server side frameworks like django or ruby on rails never setup npm in those projects, but certainly used bootstrap. It's less likely those projects would use tailwind because you need have a js buildstep for it unless you want to ship 10mb of css.
There's no denying tailwind is popular, but thinking npm is the only way people are getting css frameworks/libraries is flat wrong.
It took many long brain dump sessions, and some help from the U.S. Digital Service and Tailwind themselves.
At the end of the day, Tailwind solved more problems for them than it created.
You wouldn’t think that moving from loading icons via css versus loading them via inline svg’s would make a huge difference; but I found that it can actually reduce a second or two of render time from a legacy and bloated code base.