Most active commenters
  • stevenpotts(4)

←back to thread

Critical CSS

(critical-css-extractor.kigo.studio)
234 points stevenpotts | 11 comments | | HN request time: 0.601s | source | bottom
1. stevenpotts ◴[] No.43901496[source]
I searched online for tools to extract the critical css of a website for one of my clients, I couldn't find one that did the job so I did so after using Puppeteer locally and then decided to share the solution I used that let's you specify how long to wait after page load to extract the styles; even found a paid one but requested refund after it didn't work.

Feedback welcome, it's free for now.

replies(4): >>43901863 #>>43902081 #>>43902101 #>>43902559 #
2. promiseofbeans ◴[] No.43901863[source]
Is the code somewhere? This seems like it'd be really useful as a Vite/Astro plugin
replies(1): >>43902054 #
3. cAtte_ ◴[] No.43902054[source]
yeah, doing this manual copy-paste process every time you change something would count as cruel and unusual punishment
replies(1): >>43928668 #
4. al_borland ◴[] No.43902081[source]
FYI: While a bit of an edge case, as I don’t know why anyone would do this realistically… If a site without CSS is passed, it throws an error.
replies(1): >>43928557 #
5. jefozabuss ◴[] No.43902101[source]
What was the problem with something like https://www.npmjs.com/package/penthouse ?
replies(2): >>43902228 #>>43903993 #
6. ◴[] No.43902228[source]
7. indeyets ◴[] No.43902559[source]
Is it the UI for penthouse lib? Settings look very similar :)
replies(1): >>43928610 #
8. robotfelix ◴[] No.43903993[source]
It's worth noting that penthouse's last release is a few weeks shy of 3 years ago (https://github.com/pocketjoso/penthouse/releases/tag/v.2.3.3).

Given there seem to be few other Critical CSS tools out there, its utility in driving web performance, and the fact Google's web.dev recommended tool (https://github.com/addyosmani/critical) uses penthouse under the hood, I'm surprised there isn't more effort and/or sponsorship going into helping maintain it.

9. stevenpotts ◴[] No.43928557[source]
interesting! thanks!
10. stevenpotts ◴[] No.43928610[source]
it's based on penthouse, honestly, the most "difficult" part of this was setting up CloudRun with docker to get puppeteer to work and be able to wait whatever amount of time the user needed and netlify functions, I tried using tools like https://criticalcss.com/generate but they just didn't work because of the lack 'waiting' I guess
11. stevenpotts ◴[] No.43928668{3}[source]
hehe, I know... I should think about that, I got tons of visits but unsure this is worthwhile since it appears it's not that useful for most people?