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

bpg-converter

v1.0.0

Published

BPG converter is a library that allows you to use the new BPG image format transparently converting all the bpg images to png

Downloads

10

Readme

This library enable BPG support in the browser, it is based on ServiceWorker and it fallbacks nicely on unsupported browsers.

BPG Converter installs a ServiceWorker that enables the browser to transparently convert BPG images to PNG. Images encoded with BPG are super small while extremely detailed - visual comparison.

Demo

Launch the demo of BPG-Converter and check the DevTools, this is more or less what you'll see on the first access, when the ServiceWorker is still being activated:

First Load

Now reload the page, now the ServiceWorker is active and you'll see something like this

with ServiceWorker

The same image in BPG is just 15Kb, compared to 1Mb of the PNG counterpart!

Installing

  • Download the package using npm install bpg-converter --save
  • Create a worker.js file in the root of your project containing:
importScripts('node_modules/bpg-converter/app/dist/bpg-converter.js');
  • Register the Service Worker from your app using the following code:
if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/worker.js', {scope: '/'});
}
  • Done! Have a look at the next session to learn how to properly setup the images.

How it works

Every time a request is issued for an image with extension .bpg.png the ServiceWorker intercepts the request and looks for the same image without the .png extension - so if the request is for someimage.bpg.png the server will receive an HTTP GET for someimage.bpg. It is important to have both the .bpg.png and the .bpg version on the server in order to be able to deal with browsers that does not support ServiceWorker or to serve images on first access, when the ServiceWorker is still not active.

Kudos