npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

smallcss

v0.3.10

Published

Removes unused styles to generate the smallest possible CSS file from HTML and CSS

Downloads

5

Readme

SmallCSS

Removes unused styles to generate the smallest possible CSS file from HTML and CSS

Excellent for improving pagespeed!

Installation

npm install smallcss

Install globally for command line usage

Usage

Command Line - node smallcss test.html test.css dist/small.css

Programmatically (e.g. With Gulp) - small("test.html", "test.css", "dist/small.css")

Note: The destination argument is optional.

Example Scenario

Google PageSpeed Insights says Eliminate render-blocking JavaScript and CSS in above-the-fold content

The problem is your main.css file. So you decide to inline the critical styles. You could hand code it, but that's too time consuming and Bootstrap adds complexity.

Enter SmallCSS! Your homepage is in PHP, so you use the browser to download the generated HTML and run the command node smallcss index.html assets/main.css

Which creates small.css in the current directory.

Next you place the main.css in your footer asynchronously, example -

<link class="async-css" rel="stylesheet" href="/css/main.css" media="all">
<script>
document.querySelector(".async-css").setAttribute("media", "only async");
setTimeout(function(){
    document.querySelector(".async-css").setAttribute("media", "all");
}, 1);
</script>

Then add the small.css contents to a style tag in your header. Publish and re-run the pagespeed insight tool, it should have increased!


Now obviously your mileage may vary, but for me personally my site (hosted on GitHub pages) went from 82 to 95 on both Mobile and Desktop. As for filesizes, my main.css file was 121kb (with Bootstrap styles), now my homepage css (small.css) is 5kb