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

bleachcss-probe

v1.0.2

Published

In browser detection of unused CSS. Used selector are send back to an API endpoint.

Downloads

6

Readme

BleachCSS - Probe - Reliable unused CSS Detection and Removal

Coverage Status

The BleachCSS Probe is the official browser JavaScript client for BleachCSS.

What does it do?

The Probe tracks the list of css selectors used in the application and sends it to the BleachCSS servers. Even after a page loads, the Probe watches for DOM mutations to detect newly used selectors. As a result, BleachCSS can confidently detect and remove unused CSS in static websites, CMS systems, Single Page Applications (SPA), and traditional server-rendered dynamic content, no matter what framework is used.

How does it work?

The Probe's activity can be divided into 5 logical groups:

  • Find CSS files used on the page. If a new file gets used during the session, it needs to be detected and processed.
  • Extract selectors from the stylesheets.
  • Detect page modifications. This must be done without conflicting with other application code.
  • Efficiently detect used selector. With as little overhead as possible, to not slowdown the application.
  • Report to the server. The combination of many client reports over time can give an accurate and trustworthy analysis.

How do I install the Probe?

<script src="https://cdn.bleachcss.com/probe/latest.js"></script>
<script>
    BleachCSS.start({key: 'YOUR_KEY'});
</script>

Note: You need to generate a key on BleachCSS to use its server.

API

start

Configure and start a new instance of BleachCSS.

    BleachCSS.start(options);

Options

key

REQUIRED Identifier for your application.

url

URL of the endpoint to call when sending the data collected by the probe. Defaults to BleachCSS server.

throttle

How many milli-seconds the Probe is going to wait before running its detection logic. Usefull if you notice that Probe runs too often and slow down your application.

resume / stop

Stop or resume listening to user actions. This can be useful if the Probe is slowing down your application significantly when doing some specific operation, like JavaScript powered animations. If this occurs in your applicaion, please also open an issue on this repository or email [email protected]

BleachCSS.stop();
// ...
BleachCSS.resume();