Neutrino PWA Middleware
neutrino-middleware-pwa
is Neutrino middleware for augmenting a Neutrino web application with Progressive Web
Application capabilities. This middleware is usually only added during production builds.
Requirements
- Node.js v6.10+
- Yarn or npm client
- Neutrino v7
Installation
neutrino-middleware-pwa
can be installed via the Yarn or npm clients.
Yarn
❯ yarn add neutrino-middleware-pwa
npm
❯ npm install --save neutrino-middleware-pwa
Usage
neutrino-middleware-pwa
can be consumed from the Neutrino API, middleware, or presets. Require this package
and plug it into Neutrino:
// Using function middleware formatconst pwa = ; // Use with default optionsneutrino; // Usage showing overriding optionsneutrino;
// Using object or array middleware format // Use with default optionsmoduleexports = use: 'neutrino-middleware-pwa'; // Usage showing overriding optionsmoduleexports = use: 'neutrino-middleware-pwa' relativePaths: true ;
The options passed to the PWA middleware are options accepted by OfflinePlugin. These are merged with the default values supplied by the PWA middleware using a deep object merge.
Environment
It is recommended to only use this middleware during building, or the production environment.
Example: Only use middleware when building:
❯ neutrino build --use neutrino-preset-react neutrino-middleware-pwa
Example: Only use middleware during production:
moduleexports = env: NODE_ENV: production: use: 'neutrino-middleware-pwa' ;
Example: Only use middleware during production:
const pwa = ; neutrinoconfig;
Customization
neutrino-middleware-pwa
creates some conventions to make overriding the configuration easier once you are ready to
make changes.
Plugins
The following is a list of plugins and their identifiers which can be overridden:
Name | Description | Environments and Commands |
---|---|---|
pwa |
Creates an OfflinePlugin with options for setting up caching via Service Worker. |
all |
Contributing
This middleware is part of the neutrino-dev repository, a monorepo containing all resources for developing Neutrino and its core presets and middleware. Follow the contributing guide for details.