←back to thread

Tailwind CSS v4.0 Beta 1

(tailwindcss.com)
159 points creativedg | 7 comments | | HN request time: 0s | source | bottom
Show context
kookamamie ◴[] No.42212127[source]
Read some of the Getting Started documentation, for fun. First step:

> Installing with Vite

What the hell is Vite? Oh, it seems to be something you need to install via npm.

I cannot help but to ask - why do we require npm, or Vite, for something that looks like it should "help" with CSS?

Why is the webdev such a shitshow, that seems to get ever deeper into its own weird rabbit hole?

replies(13): >>42212149 #>>42212151 #>>42212155 #>>42212163 #>>42212304 #>>42212348 #>>42212380 #>>42212593 #>>42212640 #>>42212864 #>>42213311 #>>42214964 #>>42217238 #
1. asteroidburger ◴[] No.42212163[source]
Software is required to "help" with CSS. Only seems reasonable that you'd need to install said software. Installing the Tailwind package provides the Tailwind software. So when you build your website that uses the `block` class, that class actually exists somewhere - because you pulled it in with the installation via the package manager.

Surely we can agree that distributing shared libraries via a package manager is a good practice, no?

replies(2): >>42212179 #>>42212759 #
2. kookamamie ◴[] No.42212179[source]
CSS is text. What's wrong with copying the required CSS stylesheets over and including (importing) them from your own stylesheets?

Surely we don't need a "package manager" and a "build chain" for this?

Then again, I'm a person that writes any web-related code (HTML, JS, CSS, etc.) by hand.

Where did we take the left-turn of not understanding how things work on the actual tech level? These tools hide all of the actually required steps to npm-infested bloat.

replies(2): >>42212219 #>>42212263 #
3. macguillicuddy ◴[] No.42212219[source]
x86 ASM is text but we don't build software by copying and pasting it. While the underlying thing we ship is CSS, that doesn't mean we can't add tooling layers to make it easier or more efficient. While it's totally allowed to write by hand, most frontend web developers I know are very comfortable with NPM, and indeed having dependencies consumed from a package manager is often preferred.
4. ahussain ◴[] No.42212263[source]
The number of tailwind classes is so large now that copy/pasting the whole set into your project would mean a huge bundle size.

Part of that the tailwind package is doing is making sure that only the relevant tailwind classes are included.

replies(1): >>42212429 #
5. dotancohen ◴[] No.42212429{3}[source]
So Vite builds a custom style sheet based upon the Tailwind classes that are actually used in the project?
replies(1): >>42212521 #
6. agos ◴[] No.42212521{4}[source]
yes, exactly
7. mablopoule ◴[] No.42212759[source]
> Surely we can agree that distributing shared libraries via a package manager is a good practice, no?

At one point, long ago, you could just download a file, reference it in your index.html, and use it without ever having to worry about updating this package. It had its flaws, but it also had many advantages compared to having an external dependency that might conflict with your version of Typescript, or being highjacked by bad actors.

I don't diss the concept of package managers at all, but there are lots of case where vendoring an external package is preferable than adding it as a dependency.