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

nextjs-pwa

v1.0.1

Published

PWA for Next.js, powered by Workbox.

Downloads

24

Readme

Zero-config PWA plugin for Next.js

This plugin is powered by Workbox and other good stuff.

Build Size Version

👋 Share your awesome PWA project 👉 here

Features

  • 0️⃣ Zero-config for registering and generating service worker out of the box
  • ✨ Optimized precaching and runtime caching
  • 💯 Maximal Lighthouse score
  • 🎈 Easy-to-understand examples
  • 📴 Offline support with fallbacks (example)
  • 📦 Uses Workbox and workbox-window v6
  • 🍪 Works with cookies out of the box
  • 🔉 Default range requests for audios and videos
  • ☕ No custom server needed for Next.js 9+ (example)
  • 🔧 Handle PWA lifecycle events (opt-in - example)
  • 📐 Custom worker to run extra code with code splitting and Typescript support (example)
  • 📜 Public environment variables are available in custom workers
  • 🐞 Debug service worker in development mode without caching
  • 🌏 Internationalization support (a.k.a i18n) with next-i18next (example)
  • 🛠 Configurable by Workbox's options for GenerateSW and InjectManifest
  • ⚡ Supports blitz.js (simply add blitz.config.js)
  • 🚀 Spin up a GitPod and try out examples in rocket speed (or use create-next-app to create a brand new Next.js app with them (for example, run pnpm create next-app --example https://github.com/DuCanhGH/next-pwa/tree/master/examples/basic to create a new Next.js app using the basic example))

NOTE 1 - next-pwa version 2.0.0+ should only work with Next.js 9.1+, and static files should only be served through the public directory.

NOTE 2 - If you encounter the error TypeError: Cannot read property **'javascript' of undefined** during build, please consider upgrading to Webpack 5 in next.config.js.

NOTE 3 - nextjs-pwa currently doesn't support Turbopack, but I will start working on it as soon as we get our hands on Turbopack. It may not use Workbox anymore depending on Workbox's maintain status, however.


Open in Gitpod

Setup

See how to setup next-pwa

Tips

See our tips on using next-pwa

Reference

  1. Google Workbox
  2. ServiceWorker, MessageChannel, & postMessage by Nicolás Bevacqua
  3. The service worker lifecycle
  4. 6 Tips to make your iOS PWA feel like a native app
  5. Make your PWA available on Google Play Store