# nekr/offline-plugin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nekr-offline-plugin).**

4,508 stars · 289 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/NekR/offline-plugin
- awesome-repositories: https://awesome-repositories.com/repository/nekr-offline-plugin.md

## Topics

`appcache` `application-cache` `caching` `javascript` `offline` `offline-first` `plugin` `progressive-web-app` `pwa` `service-worker` `service-workers` `serviceworker` `storage` `webpack` `webpack-plugin`

## Description

This project is a webpack plugin that implements a service worker to manage web assets for offline access. It serves as a caching tool to ensure web applications remain functional and accessible when an internet connection is unavailable.

The tool automates the process of creating progressive web applications by integrating directly into the webpack build process. It generates the necessary service worker configurations and manages the local storage of static files to maintain application availability.

The system handles asset caching and cache management, utilizing a manifest-driven approach to determine which resources to store. It includes mechanisms for request interception and versioning to ensure cached assets are updated when the build changes.

## Tags

### Web Development

- [Service Worker Asset Caching](https://awesome-repositories.com/f/web-development/service-worker-asset-caching.md) — Implements service worker-based asset caching to keep web applications functional without an internet connection.
- [Cache Management](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-infrastructure/service-worker-controls/service-worker-libraries/asset-caching/cache-management.md) — Manages the lifecycle of browser caches and defines the specific lists of assets to be stored.
- [Network Request Interception](https://awesome-repositories.com/f/web-development/network-request-interception.md) — Intercepts network requests using a service worker to serve assets from the local cache while offline.
- [Offline Web Caching](https://awesome-repositories.com/f/web-development/offline-web-caching.md) — Enables full application functionality during network outages by caching critical web assets. ([source](https://github.com/nekr/offline-plugin#readme))
- [PWA Configuration Tooling](https://awesome-repositories.com/f/web-development/pwa-configuration-tooling.md) — Provides a utility for automating the generation of service workers to enable PWA offline caching.
- [Offline Web Applications](https://awesome-repositories.com/f/web-development/offline-web-applications.md) — Provides the architectural foundation for web applications to operate reliably regardless of connectivity status.
- [Progressive Web App Utilities](https://awesome-repositories.com/f/web-development/progressive-web-app-utilities.md) — Automates the implementation of service workers and manifests required for Progressive Web App functionality.

### Development Tools & Productivity

- [Webpack Build Plugins](https://awesome-repositories.com/f/development-tools-productivity/asset-compilation-pipelines/webpack-build-plugins.md) — Integrates as a Webpack plugin to automatically detect and list assets for service worker caching.
- [Service Worker Manifests](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/asset-file-management/asset-processing-pipelines/asset-transformation-pipelines/asset-manifest-generators/service-worker-manifests.md) — Generates a build-time manifest of assets that the service worker must precache for offline use.
- [Webpack Caching Utilities](https://awesome-repositories.com/f/development-tools-productivity/webpack-caching-utilities.md) — Configures the Webpack build process to automatically handle the caching of static files for offline availability.
- [Webpack Service Worker Plugins](https://awesome-repositories.com/f/development-tools-productivity/webpack-service-worker-plugins.md) — Adds service worker and AppCache support to Webpack builds to ensure web applications work offline.

### System Administration & Monitoring

- [Cache Busting Versioning](https://awesome-repositories.com/f/system-administration-monitoring/file-version-auditing/automatic-file-versioning/cache-busting-versioning.md) — Implements automatic asset versioning to ensure cached files are updated whenever the build changes.

### Part of an Awesome List

- [Build System Plugins](https://awesome-repositories.com/f/awesome-lists/devtools/build-system-plugins.md) — Adds offline support to webpack-based projects.
